选择具有最新活动的不同ID

时间:2015-06-25 12:25:18

标签: mysql

我有一个 MYSQL 表结构如下:

id         Activity
6298    2015-06-25 11:39:35
11141   2015-06-25 11:24:52
11141   2015-06-25 11:24:10
15048   2015-06-25 11:23:08

我想获得所有ID及其最新活动:

所以对于上面的例子我想得到这个:

id         Activity
6298    2015-06-25 11:39:35
11141   2015-06-25 11:24:52
15048   2015-06-25 11:23:08

目前,我必须以编程方式浏览每个ID并获取最新活动:

for each nextID in IDs :
    SELECT * FROM mytable WHERE id= nextID  ORDER BY added DESC LIMIT 

注意:

表格很大,因为每个id都有很多Activity。

问题:

所以我的问题是,如果有更好的方法吗?例如,一个单一的查询可以返回每个id及其最新活动。

1 个答案:

答案 0 :(得分:2)

做一个分组。没有更短/更好的方式。这是对此的最小陈述:

select id, max(Activity) as Activity
from TableName
group by id