-1

テーブルには、一意の ID を持つ単一の行、重複する行、および同じ ID を持つ複数の異なる行があります。
同じ ID で値が異なる行を取得する必要があります

ID    Major  Major_ID
1234    chemi     1111
1234    chemi     1111
673     biology   2222
673     phylo     3333
2480     comput    4444
2480    busine    5555
243     accout    6666
492     finance   7777
4812    engine    8888

サンプル データを含む SQLFiddle: http://www.sqlfiddle.com/

期待される結果:

ID    Majoy    Major_ID
673    biology   2222
673    phylo     3333
2480     comput    4444
2480     busine    5555
4

3 に答える 3

0

COUNT を分析関数として使用して、各 ID の個別のメジャーをカウントし、カウントが 1 を超えるメジャーのみを選択できます。

SELECT id, major, major_id
  FROM (SELECT id,
               major,
               major_id,
               COUNT (DISTINCT major) OVER (PARTITION BY id) AS count_
          FROM first_table)
 WHERE count_ > 1;
于 2013-10-11T16:57:47.520 に答える