Я пытаюсь добавить функции к существующим приложениям, и я столкнулся с представлением MySQL примерно так:
SELECT
AVG(table_name.col1),
AVG(table_name.col2),
AVG(table_name.col3),
table_name.personID,
table_name.col4
FROM table_name
GROUP BY table_name.personID;
ОК, так что есть несколько агрегатных функций. Вы можете выбрать personID, потому что вы группируете его. Но он также выбирает столбец, который не находится в агрегатной функции и не является частью предложения GROUP BY. Как это возможно??? Он просто выбирает случайное значение, потому что значения определенно не уникальны для каждой группы?
Откуда я (сервер MSSQL), это ошибка. Может ли кто-нибудь объяснить это поведение мне и почему это разрешено в MySQL?