如何找到每个客户的重复订单?

时间:2009-02-27 15:35:49

标签: sql

如何查询我的SQL数据库并查找客户多次订购某些内容的所有重复订单?

4 个答案:

答案 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