0
点赞
收藏
分享

微信扫一扫

MySQL 按group by取每一条的最大值

程序员阿狸 2022-01-20 阅读 43

前言

如题,想了一会儿突然发现自己不会写了,本来想百度后抄袭一下的,结果…
点了N篇帖子,发现全是错误的结果,真的是…转载的兄弟们都不自己验证一下的吗????
本来想躺平,结果还是要靠自己…
弄完做个笔记,下次如果忘了就可以不用再思考了

需求

终端登录信息表 app_client_info:

iddevice_iddevice_typeuser_idplatformlast_login_timeversion
主键设备ID设备类型用户ID平台类型:1.安卓 2.IOS最后登录时间APP版本号

求一批用户最后登录的终端信息

答案

SELECT c.id, c.device_id, c.device_type, c.user_id, c.platform, c.last_login_time, c.version
from app_client_info c,
(
	SELECT user_id, max(last_login_time) last_login_time from app_client_info
	where user_id in (用户ID集合)
	group by user_id
) a
where c.user_id = a.user_id and c.last_login_time = a.last_login_time
;

测试数据验证OK

在这里插入图片描述

举报

相关推荐

0 条评论