Сгруппировав по starType
и * PlanetName
, счетчик возвращает количество записей в каждой комбинации starType
& PlanetName
, что, если только у вас нет более одной планетыс тем же именем, вращающимся вокруг вашей звезды, всегда будет одним.
Например, с учетом данных:
+-----------+------------------+
| StarType | PlanetName |
+-----------+------------------+
| G2V | Mars |
| G2V | Earth |
| G2V | Venus |
| Red Dwarf | Omicron Persei 8 |
| Red Dwarf | Vergon 6 |
+-----------+------------------+
Группировка по StarType
и PlanetName
выдаст точно такие же данные, поскольку нет повторяющихся комбинаций StarType
и PlanetName
, которые были бы объединены в группу.
Таким образом, код SQL:
select t.StarType, count(t.PlanetName) as Planets
from YourTable t
group by t.StarType, t.PlanetName
Получит:
+-----------+---------+
| StarType | Planets |
+-----------+---------+
| G2V | 1 |
| G2V | 1 |
| G2V | 1 |
| Red Dwarf | 1 |
| Red Dwarf | 1 |
+-----------+---------+
Поскольку каждая группа содержит ровно одну запись.
Если вместо этого мы группируем только по StarType
, агрегатная функция Count
вернет количество записей, связанных с каждым StarType
:
select t.StarType, count(t.PlanetName) as Planets
from YourTable t
group by t.StarType
+-----------+---------+
| StarType | Planets |
+-----------+---------+
| G2V | 3 |
| Red Dwarf | 2 |
+-----------+---------+