有没有办法选择多个last rows
?
所以我想用version_id
列来选择最后的条目。
另一列是actual_id
。
我想根据最新版本提取actual_ids
列表。
Last()
功能不起作用。我听说order by version_id desc limit 1
是这样做的一种方式,但它限制了我只得到一行的结果集。
有没有办法解决这个问题?感谢
答案 0 :(得分:1)
所以order by version_id desc
会为您提供所需的数据集。然后,限制条款将为您提供所需的结果数量。
你可以拥有任何数字而不只是1.你可以限制5,限制1000或任何你想要的。
order by version_id desc limit 10
答案 1 :(得分:1)
以下是获取每个实际ID的最新版本的一种方法:
select t.*
from t join
(select t.actual_id, max(version_id) as maxv
from t
group by t.actual_id
) mt
on t.actual_id = mt.actual_id and t.version = mt.maxv
答案 2 :(得分:0)
如果您使用的是SQL Server,我会像
一样select top n actual_id, version_id from ActualVersion order by version_id desc
您可以将n替换为您要选择的热门记录数。
答案 3 :(得分:0)
您可以将1
更改为(例如)5
:
order by version_id desc limit 5