0

这是 table1 结构:

ID_Num | id_2 | field1
12-001 | 3    | ABCD
12-001 | 3    | ABCD
12-001 | 3    | ABCD
12-001 | 1    | ABCD
12-001 | 1    | ABCD
12-002 | 3    | ABCD
12-002 | 3    | ABCD
12-002 | 3    | ABCD
12-002 | 3    | ABCD
12-002 | 3    | ABCD
12-003 | 2    | ABCD
12-003 | 2    | ABCD
12-003 | 3    | ABCD
12-003 | 3    | ABCD
12-003 | 3    | ABCD

现在我想选择字段 id_2 发生变化的所有 ID_Num
它应该返回 12-001 因为从 3 到 1
的变化和 12-003 因为从 2 到 3 的变化

4

2 回答 2

3
SELECT  ID_NUM
FROM    tableNAME
GROUP   BY ID_NUM
HAVING  COUNT(DISTINCT id_2) > 1
于 2013-01-17T00:58:50.140 回答
0

我意识到这count(distinct)需要比以下更多的处理:

select id_num
from tablename
group by id_num
having min(id_2) <> max(id_2)

这不会将 NULL 视为单独的值,但问题中没有 NULL。

于 2013-01-17T01:42:38.047 回答