2014-06-21 24 views
1

最高值我有一個表是這樣的:獲取來自項目進行相同的ID

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

在這裏我有一個共享相同ID的幾個工作項。我如何獲得具有最高WorkItem的唯一ID?

因此,這將是這樣的:

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

幫助小白:)心靈得到什麼線索SQL命令(再次我是小白)我應該使用?或查詢的例子?

預先感謝您!

+0

可能的重複[如何選擇具有MAX(列值)的行,由SQL中的另一列DISTINCT?](http://stackoverflow.com/questions/612231/how-can-i-select-rows-與-maxcolumn-value-distinct-by-another-column-in-sql) – FuzzyTree

回答

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 

但是,如果你每ID有不同的Severity值,你會看到重複的ID秒。

+0

謝謝!工作恰到好處! – GrimSmiler

0

使用帶有GROUP BY選擇:SELECT id,MAX(WorkItemSK) FROM table GROUP BY id;