根据TOP 1查询的结果排除一组结果

时间:2011-12-12 22:39:13

标签: sql

我正在寻找一个查询,以便在B<> 1时为每个不同的A的最高seq_identity检索行。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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