SQL Tip: использование ORDER BY с несколькими столбцамиПри использовании
ORDER BY с несколькими столбцами база данных сначала сортирует весь результат по
первому указанному столбцу (в данном примере —
sales).
В результате формируются группы строк с одинаковым значением этого столбца. Например,
Mira и
Bob попадают в одну группу, потому что у обоих значение
sales равно
12 000.
После этого применяется сортировка по
второму столбцу, которая используется как критерий для разрешения совпадений.
В данном случае строки сортируются по столбцу
age в порядке возрастания (
ASC), поэтому
Mira (30 лет) будет расположена перед
Bob, который старше. Такой принцип применяется ко всем строкам, у которых совпадает значение первого столбца сортировки.
Что если совпадают значения и во втором столбце? Если одинаковыми оказываются значения и второго столбца, ситуация зависит от конкретной СУБД. В небольших наборах данных некоторые базы данных могут сохранить порядок вставки записей.
Однако в большинстве случаев, особенно при работе с большими и сложными наборами данных,
порядок строк с полностью одинаковыми значениями сортируемых столбцов не гарантируется и может быть произвольным.
Вывод: если вам важен полностью предсказуемый порядок результатов, добавляйте в
ORDER BY дополнительный столбец с уникальными значениями (например,
id). Это гарантирует стабильную сортировку.
👉
@SQLPortal