解法一:

SQL架构:

Create table If Not Exists Activity (player_id int, device_id int, event_date date, games_played int)
Truncate table Activity
insert into Activity (player_id, device_id, event_date, games_played) values ('1', '2', '2016-03-01', '5')
insert into Activity (player_id, device_id, event_date, games_played) values ('1', '2', '2016-05-02', '6')
insert into Activity (player_id, device_id, event_date, games_played) values ('2', '3', '2017-06-25', '1')
insert into Activity (player_id, device_id, event_date, games_played) values ('3', '1', '2016-03-02', '0')
insert into Activity (player_id, device_id, event_date, games_played) values ('3', '4', '2018-07-03', '5')
select player_id,min(event_date) first_login
from activity
group by player_id;

解法一:

考虑不确定的情况,即第N次登录的情况
select player_id,to_char(event_date) first_loginfrom (select a.*,dense_rank() over(partition by player_id order by event_date) xfrom activity a ) tmpwhere tmp.x=N;
不过报错:FUNCTION test.to_char does not exist

要点:
 dense_rank函数的功能与rank函数类似,dense_rank函数在生成序号时是连续的,而rank函数生成的序号有可能不连续。dense_rank函数出现相同排名时,将不跳过相同排名号,rank值紧接上一次的rank值。在各个分组内,rank()是跳跃排序,有两个第一名时接下来就是第四名,dense_rank()是连续排序,有两个第一名时仍然跟着第二名。
 
 partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,分区函数一般与排名函数一起使用。

结果:

Activity 表:
+-----------+-----------+------------+--------------+
| player_id | device_id | event_date | games_played |
+-----------+-----------+------------+--------------+
| 1         | 2         | 2016-03-01 | 5            |
| 1         | 2         | 2016-05-02 | 6            |
| 2         | 3         | 2017-06-25 | 1            |
| 3         | 1         | 2016-03-02 | 0            |
| 3         | 4         | 2018-07-03 | 5            |
+-----------+-----------+------------+--------------+Result 表:
+-----------+-------------+
| player_id | first_login |
+-----------+-------------+
| 1         | 2016-03-01  |
| 2         | 2017-06-25  |
| 3         | 2016-03-02  |
+-----------+-------------+

请编写一个 SQL 查询,描述每一个玩家首次登陆的设备名称

同理:select player_id,device_id from activity group by player_id;

MySQL 获取首次登录日期、登录设备号相关推荐

  1. MYSQL 获取当前日期及日期格式以及非空处理

    2019独角兽企业重金招聘Python工程师标准>>> MYSQL 获取当前日期及日期格式    获取系统日期:  NOW()    格式化日期:    DATE_FORMAT(da ...

  2. MYSQL 获取当前日期及日期格式,和常用时间转换函数

    经过多次尝试本人的目标完成: select newworkorder.WorkOrderNum,newworkorder.ProjectCode, newworkorder.WorkEstComDat ...

  3. mysql 获取每天的日期_mysql中获取一天、一周、一月时间数据的各种sql语句写法...

    今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学习的同时,分享给大家,并首先默认创建一个表.插入2条数据,便于部分数据的测试,其中 ...

  4. mysql获取当前日期/未来日期/过去日期/查看hive函数

    记录学习记录学习!!! 前些日子,用hsql做分析时,因为要获取未来一段时间的数据,所以得获取当前日期. 一开始我用的是这个语句:select from_unixtime(unix_timestamp ...

  5. MySQL获取季初日期_用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间...

    package com.zrar.date; import java.util.Calendar; /** * * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为St ...

  6. mysql 获取农历年份_iOS 获取公历、农历日期的年月日

    iOS 获取公历.农历日期的年月日 介绍三种方法获取 Date (NSDate) 的年月日. 用 date 表示当前日期.测试日期为公历 2017 年 2 月 5 日,农历丁酉年,鸡年,正月初九. l ...

  7. mysql的sysdate_MySQL获取时间及日期的函数--sysdate()

    如果需要让MySQL获取时间和日期,使用何种函数好呢?使用sysdate() 函数就可以让MySQL获取时间和日期,下面就让我们来了解该函数. MySQL获得当前日期+时间(date + time)函 ...

  8. app互斥登录,只能登录一个.

    思路: 1.手机app的每一次请求都携带参数(每个手机的唯一设备号),放在请求头中.当app登录成功之后,获取参数存到数据库中. 2.添加拦截器,获取请求头里面的唯一设备号,如果和当前登陆者数据库里面 ...

  9. mysql获取时间戳_mysql 获取当前时间戳

    mysql 获取当前时间为select now() 运行结果: 2012-09-05 17:24:15 mysql 获取当前时间戳为select unix_timestamp(now()) 运行结果: ...

最新文章

  1. JAVA实现ftp服务端_用 java 实现FTP SERVER(附源码)
  2. python读取大文件的坑_python读取大文件踩过的坑——读取txt文件词向量
  3. linux salt生成,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  4. H264实时编码及NALU,RTP传输(ZZ)
  5. c语言朋友,[原创]写给初学 c语言的朋友
  6. 南京江南贡院值得去吗_这12个地方是一种瘾,值得一去再去,有你想要去的吗?...
  7. 不信你不来!周老师带你用ArkControl实现自动化运维体系建设
  8. 前程无忧涉及网上黑市贩卖简历 盘前跌近5%
  9. 捡漏!用谷歌图片搜索自制深度学习数据集 | 教程
  10. 外卖红包小程序0基础搭建附教程+源码
  11. 神经网络基本原理简明教程之线性回归预测房价
  12. dubbo服务者源码分期
  13. 易康(eCognition)对象几何特征--1:几何(Geometry)_范围(Extent)
  14. 名人名言摘选-李嘉诚
  15. 2021iGEM感想
  16. 视频文件的原声如何批量更换
  17. 通俗易懂告诉你CPU/GPU/TPU/NPU...都是什么意思?
  18. 全球首家!苹果市值达 3 万亿美元,AR 和自动驾驶是下一重点?
  19. 2021年专插本计算机专业分数线预估,【参考】2016-2020年专插本省最低录取控制线预估2021年最低录取分数线是多少...
  20. Java工程师成神之路:程序员的学习路线规划以及书籍推荐

热门文章

  1. html盒子中盒子排列,css3中弹性盒排布使用方法
  2. mysql 列合并_实战讲解MySQL执行计划,面试官当场“要了我”
  3. c语言程序设计授课进度安排表,C语言程序设计教学大纲、教学计划进度简表
  4. 6_python基础—循环
  5. brew安装php-ffmpeg,mac 系统编译安装ffmpeg
  6. json字符串多了双引号_Python-数据解析-json模块 !
  7. matlab 指定区域随机游走_了解随机游走模型和移动平均过程(Python)
  8. 大一计算机应用的实验报告,大一《计算机应用基础》实验报告1.doc
  9. 手机端html5 面试,今日头条 张祖俭 - H5动画在移动平台上的性能优化实践
  10. 湖南科技大学计算机男女比例,湖师大文学院新生男女比例1:9 成了“女儿国”...