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

 

posted @ 2015-07-27 15:53  Tcool  阅读(7055)  评论(0编辑  收藏  举报