![](/img/trans.png)
[英]How to get Max of sum of two columns, with associated column - SQL Live
[英]SQL get column value associated with max()
我有下表
ID Version
--- ----------
123 1
124 2
125 3
126 4
127 5
128 6
現在我需要獲取版本號最大的ID值
我能做的是
select ID from tbl where version = (select max(version) from tbl)
我不想使用它,因為我需要在另一個查詢中的聯接中使用這一部分,並且我不想進一步使事情復雜化。
您可以使用select FIRST() :
SELECT FIRST(id) FROM tbl ORDER BY Version DESC
或使用LIMIT 1選項限制結果數:
SELECT id FROM tbl ORDER BY Version DESC LIMIT 1
您提到在聯接中需要此功能,因此應執行以下操作
select *
from table_1 as t1
join (
select id,
row_number() over (order by version desc) as rn
from table_2
) as t2 on t1.id = t2.id and t2.rn = 1
(這是ANSI SQL,因為您沒有提到DBMS-但應該在大多數現代DBMS上都可以使用)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.