2011-12-12 53 views
0

我正在尋找一個查詢檢索行當B <> 1爲每個不同A.最高seq_identity扣除根據TOP 1查詢的結果一組結果

A B seq_identity 
---------------- 
u 0 8 

v 1 9 

w 0 10 
w 1 11 

x 1 12 
x 0 13 
x 1 14 

y 0 15 
y 1 16 
y 0 17 

z 1 18 
z 0 19 

在真正的表A值沒有排序; seq_identity是獨一無二的。

從上面的查詢結果是所有的 'U', 'Y' 和 'Z' 行: 即

u 0 8 
y 0 15 
y 1 16 
y 0 17 
z 1 18 
z 0 19 
+0

你能澄清輸出?爲什麼沒有'y'行的結果? – Andomar

+0

'y'行在結果中 - 「所有'u',**'y'**和'z'行」 – Zaphod

回答

2
SELECT A, MAX(seq_identity) 
    FROM YourTable 
    WHERE B <> 1 
    GROUP BY A; 
+0

我認爲我的解釋不清楚 - 我添加了確切的預期結果集。 – Zaphod

+0

@Zaphod我現在很困惑。爲什麼不包含'w 0 10'? –

+0

對不起。很難解釋它。如果每組A的最高seq_identity的B = 1,則從結果中排除該組。 'w'行集合的最高seq_identity是11,那行有B = 1,因此排除結果中的所有'w'行。 – Zaphod

0
SELECT DISTINCT A, B, MAX(seq_identity) 
FROM table_name 
WHERE B <> 1 
GROUP BY A