计算在其他列中具有不同值的条目

时间:2015-01-07 08:17:55

标签: sql select count group-by having

这是我所拥有的DB​​的简化示例(抱歉为ulgy格式,我不知道如何编写表格):

Name | Num  
John | 1  
John | 3  
John | 4  
Dany | 2  
Andy | 5  
Andy | 5 

我想知道有多少人拥有更多至少两个不同的数字。

例如,这里只有约翰,因为他有134
不是安迪,因为他有两次2而没有其他人 显然不是Dany,因为他只有一个条目。

非常感谢。

4 个答案:

答案 0 :(得分:1)

试试这个。

select count(name) from table group by name having count(distinct num)>1

答案 1 :(得分:1)

试试这个:

SELECT A.Name, COUNT(DISTINCT A.Num) cnt 
FROM tableA 
GROUP BY A.Name
HAVING cnt >= 2;

答案 2 :(得分:0)

select count(*)
from (
    select Name from Temp group by Name having count(distinct num) > 1
) as a

答案 3 :(得分:0)

试试这个:

select name from `table` group by name,num having count(num)>1