предположим, что следующие данные:
Данные:
id | date | name | grade
--------+---------------+-----------+---------------
1 | 2010/12/03 | Mike | 12
2 | 2010/12/04 | Jenny | 12
3 | 2010/12/04 | Ronald | 15
4 | 2010/12/03 | Yeni | 11
я хочу знать, кто имеет лучшую оценку в каждый день, что-то вроде этого:
Желаемый результат:
id | date | name | grade
--------+---------------+-----------+---------------
1 | 2010/12/03 | Mike | 12
3 | 2010/12/04 | Ronald | 15
я думал, что запрос должен выглядеть так:
SELECT name FROM mytable
GROUP BY date
ORDER BY grade DESC
, но он возвращает что-то вроде этого:
Текущий нежелательный результат:
id | date | name | grade
--------+---------------+-----------+---------------
1 | 2010/12/03 | Mike | 12
2 | 2010/12/04 | Jenny | 12
Я искал и нашел причину:
GROUP BY происходит до ORDER BY, поэтому он не видит и можетНе применяйте ORDER.
, так как я могу применить ORDER к GROUP BY?
Примечание: имейте в виду, что мне нужен самый простой запрос,Поскольку мой запрос на самом деле очень сложный, я знаю, что могу достичь этого результата с помощью некоторого подзапроса или СОЕДИНЕНИЯ, но я хочу знать, как применить ORDER к GROUP BY.спасибо