问题:我目前正在将mysql
中的一个表分组为一列,这会将其他列拆分为每个组的一行。
如何控制分组后显示哪一行?
例如,对于其中一个列,我想对其进行排序,然后只显示每个组中的顶部列。
答案 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);
但是,你要做的正确的事情可能是删除这个问题。询问另一个问题,包括样本数据,所需结果和您正在使用的查询。