MySQL选择返回字段值发生变化的行

MySQL选择返回字段值发生变化的行,mysql,sql,select,Mysql,Sql,Select,这是表1的结构: 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 |

这是表1的结构:

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

SELECT  ID_NUM
FROM    tableNAME
GROUP   BY ID_NUM
HAVING  COUNT(DISTINCT id_2) > 1
我意识到
计数(不同)
需要比以下更多的处理:

select id_num
from tablename
group by id_num
having min(id_2) <> max(id_2)
选择id\u num
从表名
按id\u num分组
具有最小(id_2)最大(id_2)
这不会将NULL作为单独的值处理,但问题中没有NULL。

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

select id_num
from tablename
group by id_num
having min(id_2) <> max(id_2)
选择id\u num
从表名
按id\u num分组
具有最小(id_2)最大(id_2)

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

@paynet:小心依赖@OMGPonies:这个查询不会,是吗?@paynet:小心依赖@OMGPonies:这个查询不会,是吗?