Задать вопрос
@Mr-Governor
Губернирую

Как работают агрегатные функции?

Например, есть таблица:

mysql> SELECT * FROM student;
+----+-----------+------+
| id | name | age |
+----+-----------+------+
| 1 | Дмитрий | 18 |
| 2 | Аркадий | 18 |
| 3 | Анастасия | 17 |
| 4 | NULL | NULL |
+----+-----------+------+

При использовании агрегатных функций получаем следующее:

mysql> SELECT id, name, age, COUNT(*) FROM student;
+----+---------+------+----------+
| id | name | age | COUNT(*) |
+----+---------+------+----------+
| 1 | Дмитрий | 18 | 4 |
+----+---------+------+----------+

Если count() подсчитывает каждую строку, почему результат не получился таким:

+----+-----------+------+----------+
| id | name | age | COUNT(*) |
+----+-----------+------+----------+
| 1 | Дмитрий | 18 | 1 |
| 2 | Аркадий | 18 | 2 |
| 3 | Анастасия | 17 | 3 |
| 4 | NULL | NULL | 4 |
+----+-----------+------+----------+

Как вообще работают агрегатные функции и чем они отличаются от обычных?
Объясните пожалуйста логику работы этих функций.
  • Вопрос задан
  • 1100 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Abdula Magomedov К ответам на вопрос (2)
Комментировать