ここでは、GROUP BYコマンドを使用する前にCountコマンドを確認することができます。 GROUP BYコマンドは、指定したフィールド名でグループを作成し、そのグループ内のレコード数をカウントします。 これは非常に便利なコマンドです。
Mysql テーブルで GROUP BY コマンドと一緒に WHERE コマンドを使用することもできます。 このように
| total_records | class |
| 1 | Eight |
| 3 | Five |
| 9 | Four |
| 2 | Nine |
| 10 | Seven |
| 7 | Six |
| 3 | Three |
GROUP BY検索で各クラスでの女子レコード数の合計を取得してみます。 ここでは、女子のみを対象とするため、WHERE句を1つ使用して、性別フィールドを使用してレコードを制限する必要があります。 以下はそのクエリです。
SELECT class,count( * ) AS total_records FROM `student` WHERE sex='female' GROUP BY class
出力はこちら
| class | total_records |
| Four | 5 |
| Nine | 1 |
| Seven5 | |
| 6 | |
| 3 | 1 |
Duplicate records
Group by コマンドを使うとテーブル内で重複しているレコードを見つけることができます。 同じデータを使用して、いくつかの重複するレコードを追加することによって、別のテーブルstudent2_1を作成します。 ここにクエリ
SELECT name, COUNT(id) AS no from student2_1 group by name having no > 1
出力はここにあります。
| name | no |
|---|---|
| Arnold | 2 |
| Tade Row | 3 |
このページ末尾に、重複データを加えた stduent2_1 テーブルの SQL ダンプがダウンロード可能になっています。
重複したレコードを削除する方法
日付フィールドで group by を使用すると、暦年、会計年度、月別のリストを作成することができます
サンプルコード
PHP スクリプトと PDO を使用して group by クエリを使用する方法を理解するサンプルコードを以下に示します。
PART II:私たちは、複数のフィールドのコマンドによってグループを適用しようとします。 このために新しいテーブルを作成し、詳細について説明します。 次のパートII
この学生テーブルのSQLダンプをダウンロード
stduent2_1テーブルのSQLダンプをダウンロード
。