号外号外: 原[图享网]更名为 码友网(codedefault.com) 啦,感谢大家一路上的陪伴与支持。代码的世界里,码友网与大家一起同行!

SQL Server 从一个历史记录表中按用户名分组查询每个用户的最近一条记录

SQL Server 作者: Rector 42708阅读 1评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

如标题所描述,我们在查询数据,特别是做数据统计分析的时候(比如,从一个订单表中,查询出每个用户的最近下单时间,或者从一个邮件发送表中查询给每个用户最后发送邮件的时间),需要使用最简单的方式按用户分组查询出每个用户最近的一条记录,如下的SQL语句可以帮助我们轻松搞定这个需求,主要用了INNER JOIN以及GROUP BY 来实现,具体SQL如下:
SELECT t.username, t.date, t.value
FROM Table t
INNER JOIN (
    SELECT username, MAX(date) AS MaxDate
    FROM Table
    GROUP BY username
) tm ON t.username = tm.username AND t.date = tm.MaxDate
语句比较简单,拷贝过去就可以用,旨在分享给大家一个方法,如果朋友们觉得有更好的实现方法,欢迎留言

阅读了该文章的人还浏览了...

本文永久链接码友网 » SQL Server 从一个历史记录表中按用户名分组查询每个用户的最近一条记录

发布于: 2014-03-11 22:24:38
分享扩散:

文章评论

获取验证码

lbxp (2014-12-03 16:58)

很有用的SQL查询,谢谢分享!!!