Как мне найти дубликаты заказов на одного клиента? - PullRequest
1 голос
/ 27 февраля 2009

Как я могу запросить мою базу данных SQL и найти все дубликаты заказов, если клиент заказывал что-то более одного раза?

Ответы [ 4 ]

6 голосов
/ 27 февраля 2009

Не супер ясный вопрос, но я понимаю суть этого. Я не знаю, как выглядит ваша база данных, но ваш запрос будет выглядеть примерно так:

SELECT customer_id, count(*) FROM orders
GROUP BY customer_id
HAVING count(*) > 1
3 голосов
/ 27 февраля 2009
SELECT customerId, productId, count(productId) 
FROM CustomerOrders 
GROUP BY customerId 
HAVING count(productId) > 1
1 голос
/ 27 февраля 2009

Платформа, версия поможет. Как и образец таблицы. Вот пример таблицы заказов:

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.
0 голосов
/ 27 февраля 2009

Вы можете использовать для него Выбор отличительного .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...