2009-02-27 9 views
1

SQLデータベースを照会して、顧客が複数回何かを注文した場合の重複注文をすべて見つける方法を教えてください。お客様ごとに重複注文を検索するにはどうすればよいですか?

+0

? –

+0

投票に参加しました。本当の質問ではありません。 –

+0

あまり無礼な人ではない...質問は確かにあまり明確ではありませんが、英語で何を意味するのかを説明するのは難しいかもしれません。 –

答えて

6

非常に明確な質問ではありませんが、私はそれの要点を得ています。私はあなたのデータベースがどのようなものか知りませんが、あなたのクエリは、このようになります:あなたはそれのためにSelect Distinctを使用することができます

SELECT customer_id, count(*) FROM orders 
GROUP BY customer_id 
HAVING count(*) > 1 
3
SELECT customerId, productId, count(productId) 
FROM CustomerOrders 
GROUP BY customerId 
HAVING count(productId) > 1 
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. 

簡単な出力のために、このテーブルの上に、次のselect作品:テーブルがどのように見えるか、あなたの顧客と注文と注文項目に関するいくつかのヒントについてはどのよう

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. 
関連する問題