3
我有一張表,我想在其中返回一個MAX(id)列表,由另一個標識符分組。然而,我有第三列,當它滿足一定的標準時,「勝過」不符合該標準的行。SQL MAX(column)with Additional Criteria
可能比較容易用一個例子來解釋。樣品表有:
唯一ID(INT) 的GroupId(INT) IsPriority(位)
原始數據:
UniqueId GroupId IsPriority
-----------------------------------
1 1 F
2 1 F
3 1 F
4 1 F
5 1 F
6 2 T
7 2 T
8 2 F
9 2 F
10 2 F
如此,是因爲在的groupId 1沒有行有IsPriority集,我們返回最高UniqueId(5)。由於groupId 2具有設置了IsPriority的行,因此我們返回具有該值的最高UniqueId(7)。
所以輸出將是:
5
7
我能想到的辦法蠻力攻擊,但我想看看我是否能在單個查詢做到這一點。