从具有相同ID的项目中获取最高价值

时间:2014-06-21 22:39:52

标签: mysql sql

我有一张这样的表:

ID      Severity    WorkItemSK
23636   3-Minor     695119
23636   3-Minor     697309
23647   2-Major     695081
23647   2-Major     694967

在这里,我有几个共享相同ID的WorkItem。如何获得具有最高WorkItem的唯一ID?

所以它想要这样:

ID      Severity    WorkItemSK
23636   3-Minor     697309
23647   2-Major     695081

帮助菜鸟:)想知道我应该使用哪些SQL命令(我再次是菜鸟)?或者查询的一个例子?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

假设Severity可以根据WorkItemSK进行更改,您需要使用以下查询:

Select  T.ID, T.Severity, T.WorkItemSK
From    Table T
Join
(
    Select  ID, Max(WorkItemSK) As WorkItemSK
    From    Table 
    Group By ID
) D On T.WorkItemSK = D.WorkItemSK And T.ID = D.ID

Join的最后T.ID = D.ID条件可能需要也可能不需要,具体取决于WorkItemSK是否可以在您的表格中多次出现。

否则,你可以使用它:

Select  ID, Severity, Max(WorkItemSK) As WorkItemSK
From    Table 
Group by ID, Severity

但如果每个Severity有不同的ID值,您会看到重复的ID

答案 1 :(得分:0)

对GROUP BY使用select:SELECT id,MAX(WorkItemSK) FROM table GROUP BY id;