2016-04-13 29 views
-1

私は初心者でSQLを学習しており、現在デモemp(従業員)テーブルで作業しています。 従業員数が等しい部門を選択するにはどうすればよいですか?同じ値を持つ行を選択してください

+1

のような結果を得るでしょうか? – Quassnoi

答えて

0

あなたがして、部門によって従業員の数を取得することができます:すべての部門のリストと、あなたはそれらの結果を一緒に参加することができ、従業員の同じ番号を持つすべての部門を取得するには

SELECT dept, count(*) as empcount FROM employees GROUP BY dept; 

SELECT * 
FROM 
    (SELECT dept, count(*) as empcount FROM employees GROUP BY dept) a 
    INNER JOIN (SELECT dept, count(*) as empcount FROM employees GROUP BY dept) b ON 
     a.empcount = b.empcount AND 
     a.dept <> b.dept; 

これは少し奇妙です。あなたが10人の従業員を持つ3つの部門を持っているなら、

+---+----+---+----+ 
| a | 10 | b | 10 | 
| a | 10 | c | 10 | 
| b | 10 | a | 10 | 
| b | 10 | c | 10 | 
| c | 10 | a | 10 | 
| c | 10 | b | 10 | 
+---+----+---+----+ 
+0

ありがとう、これは私が望んだものです... – Amiya

関連する問題