我有一张存放大量产品的表格。 每行有3列:ProductID,RevisionID和Name
我需要创建一个sql语句来获取所有产品的列表,但每个ProductID只需要一个。
但是,许多行可以具有相同的ProductID,但会增加RevisionID。
因此,在获取所有产品时,我需要确保只获取每个ProductID中的一个,并确保它们是最新的版本ID。
SELECT * FROM #TABLE WHERE ProductID是唯一的 并且此产品的RevisionID是所有ProductID行的最高值
答案 0 :(得分:3)
使用join
:
select t.*
from #table t join
(select productid, max(revisionid) as maxri
from #table
group by productid
) tt
on tt.productid = t.productid and tt.maxri = t.revisionid;