抽出、ソート、結合、制限検索結果の出力を範囲指定(GROUP BYの修飾子)
- グループ化〔GROUP BY〕
- このページで使用しているサンプルデータ
グループ化
GROUP BY
unknown
テーブルの行をグループ化して、データを抽出する場合に使用します。
グループ内で値の平均値や合計値を求めるなど、集計することができます。
【参照】 GROUP BY節で使う関数
# tbl_Salesテーブルの内容 mysql> SELECT * FROM tbl_Sales; Enter +---------+--------+--------+ | OrderID | UserID | Amount | +---------+--------+--------+ | 1 | U001 | 5000 | | 2 | U001 | 4000 | | 3 | U002 | 1000 | | 4 | U003 | 3000 | | 5 | U003 | 2000 | | 6 | U003 | 3000 | +---------+--------+--------+ 6 rows in set (0.00 sec) # UserIDをグループ化し、UserID毎のAmountフィールドの合計を検索 mysql> SELECT UserID,SUM(Amount) FROM tbl_Sales GROUP BY UserID; Enter +--------+-------------+ | UserID | SUM(Amount) | +--------+-------------+ | U001 | 9000 | | U002 | 1000 | | U003 | 8000 | +--------+-------------+ 3 rows in set (0.37 sec)
このページで使用しているサンプルデータ
unknown
サンプルデータ
# データベース(db_User)作成 CREATE DATABASE db_User; # データベース(db_User)選択 USE db_User; # テーブル(tbl_Sales)作成 CREATE TABLE tbl_Sales( OrderID INTEGER NOT NULL PRIMARY KEY, UserID VARCHAR(4) NOT NULL, Amount DECIMAL DEFAULT NULL ); # データ挿入 INSERT INTO tbl_Sales VALUES (1,'U001',5000), (2,'U001',4000), (3,'U002',1000), (4,'U003',3000), (5,'U003',2000), (6,'U003',3000);