我有一个 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及其最新活动。
答案 0 :(得分:2)
做一个分组。没有更短/更好的方式。这是对此的最小陈述:
select id, max(Activity) as Activity
from TableName
group by id