SQL グループ BY
SQL GROUP BY ステートメント
GROUP BY ステートメントは、いくつかの集約関数と組み合わせて使用できます
GROUP BY ステートメント
GROUP BY ステートメントは、結果セットを 1 つのグループに従ってグループ化するために集約関数と組み合わせて使用しますまたはそれ以上の列。
SQL GROUP BY 構文
SELECT 列名、集約関数(列名)
FROM テーブル名
WHERE 列名演算子の値
GROUP BY 列名;
FROM テーブル名
WHERE 列名演算子の値
GROUP BY 列名;
デモデータベース
このチュートリアルでは、php サンプル データベースを使用します。
以下は「ウェブサイト」テーブルから選択されたデータです:
+----+-------------+------------ - ---------------+------+-----------+
| 国名 |
-- -+---------------+---------------+----- --+------+
| グーグル https://www.google.cm/ | タオバオ | | 13 | 中国語のウェブサイト |
| | フェイスブック | https://www.facebook.com/ |
| 0 | --------+--------------------------+----------+--- - -----+
SELECT サイト ID、SUM(アクセス ログ.カウント) AS nums
Example SELECT Websites.name,COUNT(access_log.aid) AS nums FROM access_log
| 国名 |
-- -+---------------+---------------+----- --+------+
| グーグル https://www.google.cm/ | タオバオ | | 13 | 中国語のウェブサイト |
| | フェイスブック | https://www.facebook.com/ |
| 0 | --------+--------------------------+----------+--- - -----+
以下はWebサイトアクセス記録テーブル「access_log」のデータです:
mysql> SELECT * FROM access_log;
+-----+---------+------ +- -----------+
日付 |
+-----+------+- ----------+
| 2016-05-10 | 230 | 05 - 14 | 2 | 2016 年 5 月 14 日 | 6 | 2016 年 5 月 14 日3 | 220 | 2016-05-15 | 8 | 545 | 2016-05-17 |
----+-------+-----------+
9 行セット (0.00 秒)
単純なアプリケーションによるグループ化
各サイト ID の統計アクセスログ訪問数:
インスタンス+-----+---------+------ +- -----------+
日付 |
+-----+------+- ----------+
| 2016-05-10 | 230 | 05 - 14 | 2 | 2016 年 5 月 14 日 | 6 | 2016 年 5 月 14 日3 | 220 | 2016-05-15 | 8 | 545 | 2016-05-17 |
----+-------+-----------+
9 行セット (0.00 秒)
単純なアプリケーションによるグループ化
各サイト ID の統計アクセスログ訪問数:
SELECT サイト ID、SUM(アクセス ログ.カウント) AS nums
FROM access_log GROUP BY site_id;
上記の SQL を実行すると、出力結果は次のようになります:
SQL GROUP BY multi-table join
次に、各配達員が配達した注文の数を調べたいと思います。 。
次の SQL ステートメントは、すべての Web サイトがアクセスしたレコードの数をカウントします: Example SELECT Websites.name,COUNT(access_log.aid) AS nums FROM access_log
Web サイト
ON に左結合 access_log.site_id=Websites.idGROUP BY Websites.name;
上記のSQLを実行した出力結果は以下の通りです: