如何查询我的SQL数据库并查找客户多次订购某些内容的所有重复订单?
答案 0 :(得分:6)
不是一个非常明确的问题,但我明白了它的要点。我不知道您的数据库是什么样的,但您的查询看起来像这样:
SELECT customer_id, count(*) FROM orders
GROUP BY customer_id
HAVING count(*) > 1
答案 1 :(得分:3)
SELECT customerId, productId, count(productId)
FROM CustomerOrders
GROUP BY customerId
HAVING count(productId) > 1
答案 2 :(得分:1)
平台版本会有所帮助。样本表也是如此。所以这是一个示例订单表:
SQL> select * from orders;
CUST_ID ORDER_ID ORDER_DAT
---------- ---------- ---------
1 1 25-FEB-09
1 2 24-FEB-09
1 3 23-FEB-09
2 4 24-FEB-09
2 5 23-FEB-09
2 6 22-FEB-09
3 7 23-FEB-09
9 8 22-FEB-09
9 9 21-FEB-09
4 10 22-FEB-09
4 11 21-FEB-09
4 12 20-FEB-09
5 13 21-FEB-09
5 14 20-FEB-09
5 15 19-FEB-09
6 16 20-FEB-09
11 17 19-FEB-09
10 18 18-FEB-09
7 19 19-FEB-09
7 20 18-FEB-09
7 21 17-FEB-09
8 22 18-FEB-09
8 23 17-FEB-09
8 24 16-FEB-09
24 rows selected.
以下选择适用于此表以获得简单输出:
1* select cust_id, count(*) from orders group by cust_id having count(*) > 1
SQL> /
CUST_ID COUNT(*)
---------- ----------
1 3
2 3
4 3
5 3
8 3
7 3
9 2
7 rows selected.
答案 3 :(得分:-1)
您可以使用Select Distinct。