题目
活动表 Activity
:
写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。
查询结果的格式如下所示:
解题思路
前置知识
MIN()函数
MIN 函数返回一列中的最小值。NULL 值不包括在计算中。
SQL MIN() 语法
SELECT MIN(column_name) FROM table_name注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。
函数实例
我们拥有下面这个 "Orders" 表:
O_Id
OrderDate
OrderPrice
Customer
1
2008/12/29
1000
Bush
2
2008/11/23
1600
Carter
3
2008/10/05
700
Bush
4
2008/09/28
300
Bush
5
2008/08/06
2000
Adams
6
2008/07/21
100
Carter
函数注解
现在,我们希望查找 "OrderPrice" 列的最小值。
我们使用如下 SQL 语句:
SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders结果集类似这样:
SmallestOrderPrice
100
知道了min()函数,我们怎样来解决这个问题呢?
1.我们先用 player_id 对用户进行分组(group by player_id )。
2.分好组后用MIN()函数找出日期最小的那一行数据( min(event_date) as first_login),即可。
代码实现
select player_id, min(event_date) as first_login
from Activity
group by player_id