SQL Serverで、Dogsテーブルに登録された犬の種類ごとの頭数を集計したい場合、GROUP BY句とCOUNT関数を組み合わせて利用します。この記事では具体的なSQL文とその解説を紹介します。
基本的な集計SQL文
Dogsテーブルのid列とbreed列を使って、種類ごとの頭数を求める場合、以下のように記述します。
SELECT breed, COUNT(*) AS headcount
FROM Dogs
GROUP BY breed;
このSQL文では、breedごとに行をまとめ、COUNT(*)でその行数(頭数)を集計しています。
SQL文の説明
SELECT句で列を指定します。ここではbreedをそのまま表示し、COUNT(*)で各breedの行数をheadcountという別名で取得しています。
GROUP BY句はbreedごとにデータをまとめる役割を果たし、集計関数と組み合わせることで集計結果を得ることができます。
結果のイメージ
このSQLを実行すると、以下のような結果が得られます。
breed headcount
Beagle 3
Labrador 5
Shiba 2
各犬種ごとの頭数を簡単に確認できるため、集計や分析に便利です。
応用例
特定の条件で絞り込んだ集計も可能です。例えば、Labradorだけを集計したい場合は。
SELECT breed, COUNT(*) AS headcount
FROM Dogs
WHERE breed = 'Labrador'
GROUP BY breed;
このようにWHERE句を追加することで条件付き集計が行えます。
まとめ
SQL Serverで犬の種類ごとの頭数を集計するには、SELECT句でbreedを指定し、COUNT(*)で行数を計算、GROUP BY句で種類ごとにまとめるのが基本です。条件付き集計や別名の利用で、より見やすく分析しやすい結果を得ることができます。


コメント