mysql 分组后取每个组内最新的一条数据


首先,将按条件查询并排序的结果查询出来。

 1 mysql> select accepttime,user,job from tuser_job where user =8  order by accepttime desc;
 2 +---------------------+------+-----+
 3 | accepttime          | user | job |
 4 +---------------------+------+-----+
 5 | 2015-07-27 15:32:45 |    8 |   1 |
 6 | 2015-07-26 14:22:56 |    8 |   1 |
 7 | 2015-07-26 10:24:39 |    8 |   2 |
 8 | 2015-07-20 17:16:38 |    8 |   1 |
 9 +---------------------+------+-----+
10 4 rows in set

然后,从中分组选出最新一条记录。

1 mysql> select accepttime,user,job from (select * from tuser_job where user =8  order by accepttime desc) as a group by job;
2 +---------------------+------+-----+
3 | accepttime          | user | job |
4 +---------------------+------+-----+
5 | 2015-07-27 15:32:45 |    8 |   1 |
6 | 2015-07-26 10:24:39 |    8 |   2 |
7 +---------------------+------+-----+
8 2 rows in set

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM