我试图在SQL服务器中编写一个查询,以查明customerID对每个客户是否有多行.请告诉我.
这是表结构
Customer table
-----------------------------------------
orderID CustName CustomerID
---------------------------------------
100 test 123456
101 test 123456
Orders table
------------------------------------
pID OrderID
-----------------------------------
1 100
2 101
Run Code Online (Sandbox Code Playgroud)
Red*_*ter 16
您可以使用GROUP BY查询来实现此目的:
select CustomerID, count(*) as NumDuplicates
from Customer
group by CustomerID
having count(*) > 1
Run Code Online (Sandbox Code Playgroud)
要查看您拥有的每位客户的数量:
SELECT COUNT(*), CustName, CustomerID
from Customer
Group by CustName, CustomerID
Run Code Online (Sandbox Code Playgroud)
您可以使用having子句来限制重复:
SELECT COUNT(*), CustName, CustomerID
from Customer
Group by CustName, CustomerID
having count(*) > 1
Run Code Online (Sandbox Code Playgroud)
UPDATE
要获得成功订单的人:
select count(*), CustName, CustomerID
from(
SELECT CustName, CustomerID
from Customer, orders
where customer.orderID = orders.orderID
and orders.success = 1) subquery
group by subquery.CustName, subquery.CustomerID
having count(*) > 1;
Run Code Online (Sandbox Code Playgroud)