我有一张同一电话号码的倍数表,我只想选择只有一个状态的号码。
因此出了这个例子......
555-554-5444 NH
555-555-5555 NH
555-555-5555 DNC
555-555-5555 INC
555-554-5444 NH
555-554-5444 NH
555-555-5555 NH
我只想回来
555-554-5444
因为它是唯一一个只有NH作为其状态的号码。
我知道这很简单,我觉得因为要问这个问题我真的很蠢......但是我不知道我的生活会怎么做。
答案 0 :(得分:2)
您可以按电话号码汇总,然后选择仅包含您要查找的状态的电话号码:
select phonenumber
from table t
group by phonenumber
having min(status) = 'NH' and min(status) = max(status)
答案 1 :(得分:0)
使用纯mysql,您可以使用group by
和having count
代码:
SELECT *, COUNT(phoneNumber) FROM table GROUP BY status HAVING COUNT = 1
它可能有语法错误,但它的方法
这个查询的作用是按电子号码状态对电话号码进行分组并计算电子邮件,因此如果您的计数器只找到1,那就是您的行
答案 2 :(得分:0)
SELECT phone_number, COUNT(DISTINCT(status)) AS count_status
FROM tablename
GROUP BY phone_number
HAVING count_status = 1;