从表中为每行选择最高版本

2hh7jdfx  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(304)

我有一张这样的table

ID JOBID REPORTNAME REVISION PDFLOCATION

1  1     RPT1       1        /var/rpt1.pdf
1  2     RPT2       1        /var/rpt2.pdf
1  1     RPT1       2        /var/rpt3.pdf

如何选择所有行,但我只需要每个行的最高修订 jobid 查询的示例结果应该是

1  2     RPT2       1        /var/rpt2.pdf
1  1     RPT1       2        /var/rpt3.pdf
slsn1g29

slsn1g291#

如果我理解正确,您希望为每个文件选择具有最大修订号的记录 ID / JOBID 组。

SELECT t1.*
FROM yourTable t1
INNER JOIN
(
    SELECT ID, JOBID, MAX(REVISION) AS REVISION
    FROM yourTable
    GROUP BY ID, JOBID
) t2
    ON t1.ID       = t2.ID AND
       t1.JOBID    = t2.JOBID AND
       t1.REVISION = t2.REVISION

相关问题