有沒有一種方法可以選擇多個last rows
?
所以有一個version_id
列,我想用來選擇最後的條目。
還有另一列是actual_id
。
我想根據它們的最新版本列出actual_ids
的列表。
Last()
功能不起作用。我聽說order by version_id desc limit 1
是這樣做的一種方式,但它限制了我只有1行的任何結果集。
有沒有辦法去解決這個問題?謝謝
有沒有一種方法可以選擇多個last rows
?
所以有一個version_id
列,我想用來選擇最後的條目。
還有另一列是actual_id
。
我想根據它們的最新版本列出actual_ids
的列表。
Last()
功能不起作用。我聽說order by version_id desc limit 1
是這樣做的一種方式,但它限制了我只有1行的任何結果集。
有沒有辦法去解決這個問題?謝謝
所以order by version_id desc
會給你你想要的數據集。然後限制條款會給你你想要的結果數量。
而且你可以有任何數字不只有1.你可以做限制5,限制1000或任何你想要的。
order by version_id desc limit 10
如果使用的是SQL Server中,我將這樣做只是想
select top n actual_id, version_id from ActualVersion order by version_id desc
,你可以通過你要選擇頂級的記錄數代替n。
這裏得到最新的每個實際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
謝謝戈登!這非常有幫助! –
可以更改1
到(例如)5
:
order by version_id desc limit 5
由於OP提到'在LIMIT'他的問題,我推斷他沒有使用SQL Server。 –
謝謝喬,只是重新閱讀,我似乎已經錯過了 – tranceporter