データベース入門


SQL入門その10 - SELECT DISTINCT文による重複データを取除く

2008/02/16 15:58Update
TAGS: SQL入門 | SELECT DISTINCT

Syboos.jp編集長

SQLでは、データを問い合わせするにはSELECTコマンドを使います。通常SELECT文での問い合わせ結果には重複行が含まれることがあります。こうした検索内容から重複する行を取除くためには、SELECT DISTINCTを使います。


SELECT DISTINCTを使用すると、重複行を削除してくれます。

SELECT DISTINCTの基本構文は、以下のようになります。

SELECT DISTINCT <列名1> [, 列名2 ...] FROM <テーブル名> [WHERE条件式など]

※※ <>は必須、[]はオプション構文との意味です。
※※ DISTINCTで重複を抑制しているのは SELECT文で得られた行データであって、言い換えると、SELECT文に含まれる全列名の組み合わせで重複データはないこと、単独列のみの重複ではないことに注意してください。


では、早速試しましょう。
※実際のテストはMySQLを使って行います。

仮に、次のテーブルUSER_MST:
ID NAME NICK_NAME AGE
1   Mike Jack       20
2   Jackson Jack   21
3   Juli   Sam       22
4   Samon   Sam       22


mysql>SELECT DISTINCT NICK_NAME FROM USER_MST;
+---------+
|NICK_NAME|
+---------+
|   Jack  |
|   Sam   |
+---------+
2 rows in set (0.00 sec)

mysql>
NICK_NAME列の重複がないデータ2件を取得しました。

mysql>SELECT DISTINCT NICK_NAME, AGE FROM USER_MST;
+---------+---+
|NICK_NAME|AGE|
+---------+---+
|   Jack  |20 |
|   Jack  |21 |
|   Sam   |22 |
+---------+---+
3 rows in set (0.00 sec)

mysql>
NICK_NAMEとAGEの組み合わせで重複がないデータ3件を取得しました。


その他関連記事


SQL入門その2 - データの問い合わせSELECT文の基本的な使い方

Sponsored Link