Вопрос, который у вас есть, что ключи для order by
не однозначно определяют каждую строку. В частности, «khar» повторяется для большинства строк (ваши результаты показывают, что вы используете сортировку без учета регистра).
В базах данных SQL сортировка нестабильна. Стабильная сортировка - это та, которая сохраняет исходный порядок значений с одним и тем же ключом. Поскольку сортировка нестабильна, результаты - для идентичных ключей - могут выходить в любом порядке.
Почему нет стабильного сорта? Это легко увидеть в ретроспективе. Таблицы SQL и наборы результатов представляют неупорядоченные комплектов. Начального заказа нет, поэтому сортировка нестабильна.
Обычный способ адресовать это должен включать уникальный идентификатор в качестве конечного ключа в order by
: order by address, id
. С вашими данными, однако, непонятно, что такое уникальный ключ.
Оба они дают результаты в соответствии с гарантиями, что * вы * запросили в вашем 'ПОРЯДКА BY'. Если вам нужны более сильные гарантии, * вы должны запросить их, добавив дополнительные столбцы или выражения (выражения) к этому 'ORDER BY'. –
Это очень хороший пример, что нет абсолютно никакого неявного порядка сортировки ** Каждый вызов может возвращаться с другим порядком, если ваши столбцы для 'ORDER BY' не являются' UNIQUE' в их комбинированных значениях. – Shnugo
... и в чем ваш вопрос? – Thinkeye