Простой оператор SELECT стр. 3 |
||
Сортировку можно выполнять даже по столбцам, отсутствующим в списке SELECT. Естественно, эти столбцы должны присутствовать на выходе предложения FROM. Например, чтобы вывести список моделей PC, упорядоченный по убыванию цены, можно написать Обратите внимание, что сама цена (price) не выводится запросом. Исключением является неоднозначная ситуация, возникающая при исключении дубликатов. Так запрос уже вызовет ошибку:ORDER BY items must appear in the select list if SELECT DISTINCT is specified. По той же причине не будет работать запрос с группировкой Column "PC.price" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause. Однако если неоднозначность устранить (выполнить сортировку по какому-либо агрегатному значению для группы), то можно "подправить" запрос:
Примечание:
Все приведенные здесь запросы (в том числе ошибочные) будут работать под MySQL, которая сама устраняет неоднозначность. Спросите как? Загляните в документацию MySQL. :-) |