如标题所描述,我们在查询数据,特别是做数据统计分析的时候(比如,从一个订单表中,查询出每个用户的最近下单时间,或者从一个邮件发送表中查询给每个用户最后发送邮件的时间),需要使用最简单的方式按用户分组查询出每个用户最近的一条记录,如下的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语句比较简单,拷贝过去就可以用,旨在分享给大家一个方法,如果朋友们觉得有更好的实现方法,欢迎留言
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册