SQL Statement中间问题

时间:2015-02-27 11:56:01

标签: sql sqlite

我有一张存放大量产品的表格。 每行有3列:ProductID,RevisionID和Name

我需要创建一个sql语句来获取所有产品的列表,但每个ProductID只需要一个。

但是,许多行可以具有相同的ProductID,但会增加RevisionID。

因此,在获取所有产品时,我需要确保只获取每个ProductID中的一个,并确保它们是最新的版本ID。

SELECT * FROM #TABLE WHERE ProductID是唯一的 并且此产品的RevisionID是所有ProductID行的最高值

1 个答案:

答案 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;