「Oracle」GROUP BYとHAVINGでデータの重複件数を抽出する方法

■ 書式
SELECT
xxx
FROM
テーブル名
GROUP BY
xxx
HAVING
条件
■ 使用例
説明
スキーマ SCHEMA_CFT
テーブル:TEST_TABLE1、TEST_TABLE2
等しいカラム:DEV_NO
グループ化カラム:USER_ID
SQL構文

SELECT
  CFTA.USER_ID 重複USER_ID
  , COUNT(CFTA.USER_ID) 重複件数 
FROM
  SCHEMA_CFT.TEST_TABLE1 CFTA
  , SCHEMA_CFT.TEST_TABLE2 CFTB 
WHERE
  CFTA.DEV_NO = CFTB.DEV_NO(+) 
HAVING
  COUNT(CFTA.USER_ID) > 1 
GROUP BY
  CFTA.USER_ID

■ 実行結果
重複USER_ID 重複件数
2015     12
1235     3
6788     16

Oracle

Posted by arkgame