我有一个名为customer_numbers的表,如下所示:
ID customer number
1 1 10001
2 2 10002
3 2 10003
4 3 10004
5 3 10005
6 3 10006
7 3 10007
我想要一个产生以下结果的查询。 I.E.仅排除那些只有一个号码的客户。
ID customer number
2 2 10002
3 2 10003
4 3 10004
5 3 10005
6 3 10006
7 3 10007
我尝试了这样的查询:
SELECT ID,customer,number from customer_numbers GROUP BY number HAVING count(*) > 1
添加GROUP BY子句列出了所有数字,但count(*)始终为1.没有子句意味着所有数字都没有列出,只有一个结果。
什么是正确的查询?
答案 0 :(得分:1)
您需要按customer
select * from customer_numbers
where customer in(SELECT customer from customer_numbers GROUP BY customer HAVING count(*)>1)