MySQL SELECT返回字段值更改的行

时间:2013-01-17 00:57:07

标签: mysql sql select

这是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 由于从3变为1,它应返回12-001 和12-003因为从2变为3

2 个答案:

答案 0 :(得分:3)

SELECT  ID_NUM
FROM    tableNAME
GROUP   BY ID_NUM
HAVING  COUNT(DISTINCT id_2) > 1

答案 1 :(得分:0)

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

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

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