※ ChatGPTを利用し、要約された質問です(原文:SQLのcount()とgroup by)
SQLのcount()とgroup byの使い方とは?
このQ&Aのポイント
SQLのcount()とgroup byを使用してテーブルのデータをまとめる方法について教えてください。
SELECT count(*) FROM tbl1 group by idというSQL文を使用すると、idごとの個数が返ってきますが、idを結果に追加する方法はあるのでしょうか?
MySQLではSELECT id, count(*) FROM tbl1 group by idというSQL文を使用することができますが、これが標準的なSQLではないとのことです。正しい書き方を教えてください。
以下のようなテーブルがあったとき、
tbl1
id | score
1 | 100
1 | 200
1 | 300
2 | 200
2 | 100
3 | 300
3 | 400
3 | 500
3 | 600
idでまとめて個数を出すとすると、
SELECT count(*) FROM tbl1 group by id
とすれば
count(*)
3
2
4
と結果が返ってきますが、この結果にidを足して
id | count(*)
1 | 3
2 | 2
3 | 4
というようなSQLはどうやって書けばいいのでしょうか?
MySQLでは、
SELECT id, count(*) FROM tbl1 group by id
と書けるのですが、これは標準的なSQLではNGなそうなので、気になって質問しました。
よろしくお願いします。
お礼
回答ありがとうございます。 問題ないということで、良かったです。 どうもありがとうございます。