![](/img/trans.png)
[英]Mysql, How to group a set of rows by using the max value of another column?
[英]How to get rows with max(of a column) when using group by
当我尝试:
select *
from some_table
group by table_id
order by timestamp desc;
我正在获取具有特定table_id
timestamp
值最少的行(用于分组)
如何获取具有该特定table_id
最高timestamp
值的行。
我也尝试过:
select *
from some_table
group by table_id
having max(timestamp)
order by timestamp desc;
其结果与第一种情况相同。
谢谢
select *
from your_table t
inner join
(
select table_id, max(created_timestamp) as mts
from your_table
group by table_id
) x on x.table_id = t.table_id
and x.mts = t.created_timestamp
在MySQL中,您可以执行
select *, max(created_timestamp) as mts
from your_table
group by table_id
但这并不能确保您将对应的数据获取到max(created_timestamp)
而是仅获取了table_id
SELECT * FROM (SELECT * FROM some_table ORDER BY timestamp) t1 GROUP BY t1.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.