2016-07-26 5 views
1

と仮定私は以下のように表「注文」を持っている:、数一定数を超える列のユニークな要素を選択し

enter image description here

私のようにSQLfiddle(http://sqlfiddle.com/#!9/b9d7a/6)にこれを入力しました次の:

CREATE TABLE Orders 
    (`Number` int, `order_date` varchar(10), `cust_id` int, `salesperson_id` int, `Amount` int) 
; 

INSERT INTO Orders 
    (`Number`, `order_date`, `cust_id`, `salesperson_id`, `Amount`) 
VALUES 
    (10, '8/2/96', 4, 2, 540), 
    (20, '1/30/99', 4, 8, 1800), 
    (30, '7/14/95', 9, 1, 460), 
    (40, '1/29/98', 7, 2, 2400), 
    (50, '2/3/98', 6, 7, 600), 
    (60, '3/2/98', 6, 7, 720), 
    (70, '5/6/98', 9, 7, 150) 
; 

私が複数回発生しsalesperson_idの要素を選択したいと思います。今まで私は

SELECT 
    salesperson_id 
FROM 
    Orders 
GROUP by salesperson_id 

をやったが、これはsalesperson_idのすべてのユニークな要素の選択につながる - 、1ある27、および8 - 複数回出現だけのものではなく、すなわち、2および7。最小カウント数を指定する方法はありますかGROUP by

答えて

3
SELECT salesperson_id, count(salesperson_id) as c 
FROM Orders 
GROUP by salesperson_id 
HAVING c>1 

またはさらに短い

SELECT salesperson_id FROM Orders GROUP by salesperson_id HAVING count(salesperson_id)>1 
関連する問題