Непонятный вывод. Запрос с использованием агрегатной функции AVG - MySQL

Узнай цену своей работы

Формулировка задачи:

Всем привет. Первый раз задаю вопрос в этом разделе, как и первый раз сталкиваюсь с БД. Есть база данных some. Выглядит она следующим образом:
+----+---------+-----+-----------+
| id | name    | age | phone     |
+----+---------+-----+-----------+
| 1  | Mike    | 25  | 345-65-78 |
| 2  | John    | 27  | 123-65-12 |
| 3  | Bob     | 23  | 456-12-55 |
| 4  | Andy    | 20  | 244-34-12 |
| 5  | Rita    | 21  | 432-65-11 |
| 6  | Andy    | 24  | 323-43-98 |
| 7  | Mike    | 23  | 313-54-21 |
| 8  | Jeff    | 25  | 213-56-23 |
| 9  | Stanley | 23  | 111-23-43 |
+----+---------+-----+-----------+
При таком запросе:
SELECT name, age FROM some ;
Вот такой вывод:
+---------+-----+
| name    | age |
+---------+-----+
| Mike    | 25  |
| John    | 27  |
| Bob     | 23  |
| Andy    | 20  |
| Rita    | 21  |
| Andy    | 24  |
| Mike    | 23  |
| Jeff    | 25  |
| Stanley | 23  |
+---------+-----+
Что меня вполне устраивает. А вот вывод такого запроса мне не понятен:
SELECT name, AVG( age ) as avg_age FROM some ;
+------+---------+
| name | avg_age |
+------+---------+
| Mike | 22.8889 |
+------+---------+
Почему выводится только 1 запись? Да, я понимаю, что это как-то связано с функцией AVG. Но как? Использование агрегатных функций в запросе

убивает

все записи ( при выводе, разумеется )? А Mike

выжил

только лишь потому, что

нужно было что-то вставить

в поле name, и Mike был первым

попавшимся под руку

?

Решение задачи: «Непонятный вывод. Запрос с использованием агрегатной функции AVG»

textual
Листинг программы
GROUP BY name

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы