簡體   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