SQL - group by и order by. По какому принципу идет сортировка?

Рейтинг: 0Ответов: 1Опубликовано: 06.03.2023

По какому принципу идет сортировка одинаковых значений?

SELECT  billing_country,
SUM(total),
COUNT(total),
AVG(total)
FROM invoice
WHERE  billing_country = 'USA'
GROUP BY billing_city
ORDER BY AVG(total);

Ответы

▲ 1

Выдержка из справки:

После того как запрос выдал таблицу результатов (после обработки списка выборки), её можно отсортировать. Если сортировка не задана, строки возвращаются в неопределённом порядке. Фактический порядок строк в этом случае будет зависеть от плана соединения и сканирования, а также от порядка данных на диске, поэтому полагаться на него нельзя. Определённый порядок выводимых строк гарантируется, только если этап сортировки задан явно.

Таким образом, если критерий сортировки не задает порядок явным образом он остается неопределенным, как вам писали выше.