[英]Query MYSQL - mysql query distinct count
我有下表:
ID_PERSON NAME_PERSON
001 JHON SLAVE
002 BRUCE WILLIAN
001 PAUL BYLING
例如,我想知道 ID_PERSON 001 链接到不同名称的情况有多少(明显)
我当前的查询:
SELECT ID_PERSON, COUNT(DISTINCT(NAME_PERSON))
GROUP BY ID_PERSON
HAVING COUNT(DISTINCT(NAME_PERSON)>1
我预计 output 是 2 条记录:Jhon 的 001 和 Paul 的 001
由于我的表有数百万条记录,因此它没有执行
SELECT t1.*
FROM src_table t1
JOIN ( SELECT ID_PERSON
FROM src_table t2
GROUP BY ID_PERSON
HAVING COUNT(DISTINCT(NAME_PERSON) > 1 ) t3 USING (ID_PERSON)
SELECT *
FROM src_table t1
WHERE EXISTS ( SELECT NULL
FROM src_table t2
WHERE t1.ID_PERSON = t2.ID_PERSON
AND t1.NAME_PERSON <> t2.NAME_PERSON )
还有更多变体。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.