Непонятный вывод. Запрос с использованием агрегатной функции AVG - MySQL
Формулировка задачи:
Всем привет. Первый раз задаю вопрос в этом разделе, как и первый раз сталкиваюсь с БД.
Есть база данных
При таком запросе:Вот такой вывод:
Что меня вполне устраивает. А вот вывод такого запроса мне не понятен:
Почему выводится только 1 запись? Да, я понимаю, что это как-то связано с функцией
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 | +------+---------+
AVG
. Но как? Использование агрегатных функций в запросе убивает
все записи ( при выводе, разумеется )? АMike
выжил
только лишь потому, чтонужно было что-то вставить
в полеname
, и Mike
был первым попавшимся под руку
?Решение задачи: «Непонятный вывод. Запрос с использованием агрегатной функции AVG»
textual
Листинг программы
GROUP BY name
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д