COUNT(*)　が何を意味しているのかわからない


COUNT(*) が何を意味しているのかわからないです。SQLの勉強をしています。

[code]

    SELECT age, COUNT(*)
    FROM users
    GROUP BY age;
    
[/code]

というコードがありました。全てのユーザーを年齢ごとにグループ化し年齢と年齢ごとの人数をusersテーブルから取得してくるという内容なのですが、なぜCOUNT(*)の（）の中は＊が指定されているのでしょうか？＊は全てという意味で、この場合だとCOUNT(age)
になるのかなと。




> COUNT(*) が何を意味しているのかわからないです。

「*」はテーブルの全カラムを表すので、以下のようなイメージで考えるといいと思います。

[![画像の説明をここに入力](https://i.stack.imgur.com/dNC32.png)](https://i.stack.imgur.com/dNC32.png)

基本的に、グループ化した場合はどちらも同じ行数になりますが、@payaneco さんが仰るように、nullの扱いに気をつける必要があります。




> COUNT(*) が何を意味しているのかわからないです。

「*」はテーブルの全カラムを表すので、以下のようなイメージで考えるといいと思います。

[![画像の説明をここに入力](https://i.stack.imgur.com/dNC32.png)](https://i.stack.imgur.com/dNC32.png)

基本的に、グループ化した場合はどちらも同じ行数になりますが、@payaneco さんが仰るように、nullの扱いに気をつける必要があります。

