【问题标题】:SQL Statement intermediate issueSQL 语句中间问题
【发布时间】:2015-02-27 11:56:01
【问题描述】:

我有一张存放大量产品的桌子。 每行有 3 列:ProductID、RevisionID 和 Name

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

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

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

从 #TABLE 中选择 * WHERE ProductID 是唯一的 并且此产品的 RevisionID 是所有 ProductID 行中最高的

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:

    使用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;
    

    【讨论】:

      猜你喜欢
      • 2010-09-25
      • 1970-01-01
      • 2015-10-15
      • 2010-10-11
      • 2011-04-23
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      相关资源
      最近更新 更多