SQL для начинающих

       

Внимательно относитесь к ограничениям предложения GROUP BY



Внимательно относитесь к ограничениям предложения GROUP BY

Предположим, вам нужен список самых результативных хиттеров (игроков с битой) Национальной лиги. Проанализируйте следующий запрос:

SELECT Player, Team, Homers

   FROM NATIONAL

   WHERE Homers >= 2 0

   GROUP BY Team ;

В большинстве реализаций этот запрос возвращает сообщение об ошибке. Обычно в списке выборке могут появляться только те столбцы, которые применяются для группирования, или столбцы, используемые в итоговой функции. С учетом этого следующий запрос уже вполне работоспособный:

SELECT Player, Team, Homers

   FROM NATIONAL

   WHERE Homers >= 20

   GROUP BY Team, Player, Homers ;

Так как все столбцы, которые вы хотите отобразить, указаны в предложении GROUP BY, то запрос выполнится успешно и выведет те результаты, которые вам нужны. Благодаря этой формулировке полученный список будет сперва отсортирован по полю Team, затем по полю Player и Homers.



Содержание раздела