繁体   English   中英

查询 MYSQL - mysql 查询不重复计数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM