热线电话:13121318867

登录
2019-03-04 阅读量: 718
单表分类取最值的SQL如何实现效率最高

问题描述:

现有实际需求如下:表TBL(userid,logintime,dat),userid为用户名(KEY),logintime为登录时间,dat为某些数据,请写SQL语句返回每个有记录的用户在最后一次登录所产生的userid,dat结果集。

这个问题其实是一个广谱性的问题,在很多场景下会遇到。那么对于这类单表分类(userid相同的视为一类)取最值(或者是最大两个或三个值)的问题,如何设计SQL才能使效率最高?

解决方法:

select userid,dat from tbl t where t.logintime = (select max(logintime) from tbl where userid = t.userid);
7.1321
4
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子