力扣511(MySQL)-游戏玩法分析Ⅰ(简单)
题目:
活动表 Activity:

写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。
查询结果的格式如下所示:


解题思路:
方法一:使用dense_rank() over(partition by ... order by ...):将登录时间按用户id进行分组然后升序排序,最后筛选出排序后为1的数据。
1 select player_id,event_date as first_login
2 from (
3 select player_id,event_date,dense_rank() over(partition by player_id order by event_date) as rnk
4 from Activity
5 ) as a
6 where rnk = 1;
方法二:使用聚合函数min()和group by
1 select player_id,min(event_date) as first_login
2 from Activity
3 group by player_id;
方法三:使用where() in
1 select player_id,event_date as first_login
2 from Activity
3 where (player_id, event_date) in(
4 select player_id, min(event_date) as first_login
5 from Activity
6 group by player_id
7 );
力扣511(MySQL)-游戏玩法分析Ⅰ(简单)的更多相关文章
- 力扣---511. 游戏玩法分析 I
活动表 Activity: +--------------+---------+| Column Name | Type |+--------------+---------+| player ...
- [LeetCode]534. 游戏玩法分析 III(Mysql)
题目 Table: Activity +--------------+---------+ | Column Name | Type | +--------------+---------+ | pl ...
- 简单Elixir游戏服设计- 游戏玩法介绍
抄以前的,做了点修改. 到目前为止,我们完成了玩家的数据和进程建模,现在介绍游戏玩法. 为什么我们还不做客户端接入.协议指定呢?为什么还没有网关和数据存储呢.在我接手的游戏, 这些通常已经定下来了,我 ...
- 基于Spring框架怎么构建游戏玩法服务
说明:本篇阐述的问题,是基于前面的游戏服务器架构设计的. 问题 众所周知,Spring最擅长的领域是无状态服务的构建,而游戏(尤其是玩法部分)是有状态的.以棋牌游戏为例,玩法服务里面大概涉及以下两类对 ...
- 力扣---45. 跳跃游戏 II
给定一个长度为 n 的 0 索引整数数组 nums.初始位置为 nums[0].每个元素 nums[i] 表示从索引 i 向前跳转的最大长度.换句话说,如果你在 nums[i] 处,你可以跳转到任意 ...
- 力扣561. 数组拆分 I-C语言实现-简单题
题目 传送门 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(a ...
- 力扣566. 重塑矩阵-C语言实现-简单题
题目 传送门 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要 ...
- 力扣832. 翻转图像-C语言实现-简单题
题目 传送门 文本 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, ...
- 力扣896. 单调数列-C语言实现-简单题
题目 传送门 文本 如果数组是单调递增或单调递减的,那么它是单调的. 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的. 如果对于所有 i <= j, ...
- 力扣---1306. 跳跃游戏 III
这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处.当你位于下标 i 处时,你可以跳到 i + arr[i] 或者 i - arr[i]. 请你判断自己是否能够跳到对应元素值 ...
随机推荐
- 爬虫实战:从HTTP请求获取数据解析社区
在过去的实践中,我们通常通过爬取HTML网页来解析并提取所需数据,然而这只是一种方法.另一种更为直接的方式是通过发送HTTP请求来获取数据.考虑到大多数常见服务商的数据都是通过HTTP接口封装的,因此 ...
- 面试官:只知道v-model是:modelValue和@onUpdate语法糖,那你可以走了
前言 我们每天都在用v-model,并且大家都知道在vue3中v-model是:modelValue和@update:modelValue的语法糖.那你知道v-model指令是如何变成组件上的mode ...
- Java split 分割字符串避坑
使用split进行字符串分割时需要注意2点 1.特殊字符作为分隔符时需要使用\\进行转义(如\\ -> \\\\; | -> \\| ) 特殊字符 .$|()[{^?*+\\ 例如对&qu ...
- Anaconda使用教程
0 写在前面 以下命令都是在命令行模式下进行操作,macOS和Linux用户可以直接打开Terminal终端,Windows用户如果配置了环境变量则可以直接打开cmd,否则需要打开Anaconda P ...
- 数字电路之MOS设计
数字电路之MOS设计 1.MOS的基本性质 MOS,即场效应管,四端器件,S.D.G.B四个端口可以实现开和关的逻辑状态,进而实现基本的逻辑门.NMOS和PMOS具有明显的对偶特性:NMOS高电平打开 ...
- ZYNQ7000系列学习之TF卡读写实验
TF卡读写实验 1.实验原理 开发板上自动带有TF卡外接接口,这里只需调用封装好的IP核即可实现该功能.当然,你还需要一个TF卡(感觉SD卡也可以,反正这两种卡差不多).实验就是调用一个IP核,不涉及 ...
- Kingbase 函数查询返回结果集
数据库使用过成中,时常会遇到需要返回一个结果集的情况,如何返回一个结果集,以及如何选择一个合适的方式返回结果集,是现场经常需要考虑的问题. 下面介绍KingbaseES中各种返回结果集的方式. 1.通 ...
- 终于来了!FastGPT 正式兼容 GPT 应用
终于来了!FastGPT 正式兼容 GPT 应用 FastGPT V4.7 正式加入了工具调用功能,可以兼容 GPTs 的 Actions.这意味着,你可以直接导入兼容 GPTs 的 Agent 工具 ...
- 跳转到制定Sheet页及提交指定sheet页内容
一.跳转到指定Sheet的实现 话不多说,先上效果图 两个按钮的事件分别如下: _g().loadSheetByName("sheet1") # 跳转至sheet1按钮事件 _g( ...
- Scala 不可变Map
1 package chapter07 2 3 object Test08_ImmutableMap { 4 def main(args: Array[String]): Unit = { 5 // ...