ここでは、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ダンプをダウンロード
。