抽出、ソート、結合、制限データの重複処理
- 重複なしにデータを抽出〔DISTINCT〕
- 重複なしにデータをカウント〔DISTINCT〕
- このページで使用しているサンプルデータ
重複なしにデータを抽出
DISTINCT
unknown
# tbl_Addressの内容 mysql> SELECT * FROM tbl_Address; Enter +--------+----------+----------+-------------------------+ | UserID | Zip | Ken | Addr | +--------+----------+----------+-------------------------+ | U001 | 155-0031 | 東京都 | 世田谷区下北1-1-1 | | U002 | 160-0023 | 東京都 | 新宿区西新宿9-8-7 | | U003 | 079-1274 | 北海道 | 赤平市エルム町4-2-5 | | U004 | 061-3254 | 北海道 | 石狩市樽川3-1-1 | | U005 | 155-0031 | 神奈川県 | 横浜市緑区いぶき野2-100 | | U006 | 155-0031 | 神奈川県 | 横浜市緑区白山10-33-2 | | U007 | 155-0031 | 沖縄県 | 石垣市石垣9000 | +--------+----------+----------+-------------------------+ 7 rows in set (0.00 sec) # Kenフィールドのデータを重複なしに検索 mysql> SELECT DISTINCT(Ken) FROM tbl_Address; Enter +----------+ | Ken | +----------+ | 東京都 | | 北海道 | | 神奈川県 | | 沖縄県 | +----------+ 4 rows in set (0.10 sec)
重複なしにデータをカウント
DISTINCT
unknown
# tbl_Addressテーブルの内容 mysql> SELECT * FROM tbl_Address; Enter +--------+----------+----------+-------------------------+ | UserID | Zip | Ken | Addr | +--------+----------+----------+-------------------------+ | U001 | 155-0031 | 東京都 | 世田谷区下北1-1-1 | | U002 | 160-0023 | 東京都 | 新宿区西新宿9-8-7 | | U003 | 079-1274 | 北海道 | 赤平市エルム町4-2-5 | | U004 | 061-3254 | 北海道 | 石狩市樽川3-1-1 | | U005 | 155-0031 | 神奈川県 | 横浜市緑区いぶき野2-100 | | U006 | 155-0031 | 神奈川県 | 横浜市緑区白山10-33-2 | | U007 | 155-0031 | 沖縄県 | 石垣市石垣9000 | +--------+----------+----------+-------------------------+ 7 rows in set (0.31 sec) # DISTINCTを指定しない場合 # Kenフィールドのレコードを全てカウントするため、重複データもカウントされます mysql> SELECT COUNT(Ken) FROM tbl_Address; Enter +------------+ | COUNT(KEN) | +------------+ | 7 | +------------+ 1 row in set (0.02 sec) # DISTINCTを指定した場合 # Kenフィールドのレコードが重複なしにカウントされます mysql> SELECT COUNT(DISTINCT Ken) FROM tbl_Address; Enter +---------------------+ | COUNT(DISTINCT KEN) | +---------------------+ | 4 | +---------------------+ 1 row in set (0.06 sec)
このページで使用しているサンプルデータ
unknown
サンプルデータ
# テーブル(tbl_Address)作成 CREATE TABLE IF NOT EXISTS tbl_Address( UserID VARCHAR(4) NOT NULL PRIMARY KEY, Zip CHAR(9) DEFAULT NULL, Ken CHAR(10) DEFAULT NULL, Addr VARCHAR(200) DEFAULT NULL ); # データ挿入 INSERT INTO tbl_Address (UserID,Zip,Ken,Addr) VALUES ('U001','155-0031','東京都','世田谷区下北1-1-1'), ('U002','160-0023','東京都','新宿区西新宿9-8-7'), ('U003','079-1274','北海道','赤平市エルム町4-2-5'), ('U004','061-3254','北海道','石狩市樽川3-1-1'), ('U005','155-0031','神奈川県','横浜市緑区いぶき野2-100'), ('U006','155-0031','神奈川県','横浜市緑区白山10-33-2'), ('U007','155-0031','沖縄県','石垣市石垣9000');