mysql:使用group by时非分组项目会崩溃

时间:2018-05-22 03:35:27

标签: mysql sql database

问题:我目前正在将mysql中的一个表分组为一列,这会将其他列拆分为每个组的一行。
如何控制分组后显示哪一行?
 例如,对于其中一个列,我想对其进行排序,然后只显示每个组中的顶部列。

1 个答案:

答案 0 :(得分:0)

出现这种情况的大多数情况下,您并不真正想要聚合。您想要过滤数据。所以,假设你有一堆entities的记录会随着时间的推移而更新。如果您想要每个实体的最新行,可以使用:

select t.*
from t
where t.created_at = (select max(t2.created_at) from t t2 where t2.entity_id = t.entity_id);

但是,你要做的正确的事情可能是删除这个问题。询问另一个问题,包括样本数据,所需结果和您正在使用的查询。