2008年5月19日月曜日

【SQL】重複した行を取り出す

--テーブルからフィールドAの値が重複しているデータを取り出す。
--手順:
--①GROUP BYでフィールドAを指定し、HAVING句を用いて
-- COUNT()の結果が2以上のデータのリストを取得する。
-- 例)リストの取得方法
SELECT [key]
FROM [test].[dbo].[tbl_union1]
GROUP BY [key]
HAVING COUNT([key])>1

--②①で取得したリストに入っているデータをテーブルから取得する。
SELECT [key]
FROM [test].[dbo].[tbl_union1]
WHERE [key] in
(SELECT [key]
FROM [test].[dbo].[tbl_union1]
GROUP BY [key]
HAVING COUNT([key])>1)

【結果】
key
----------
union1_3
union1_3
union1_3

(3 行処理されました)

0 件のコメント: