Можно ли явно сохранить сортировку из инструкции по порядку в таблице (SQL Версия сервера 2017) - PullRequest
0 голосов
/ 28 мая 2020

У меня есть эта таблица

AGENT_CODE AGENT_NAME      WORKING_AREA                        
---------- ------------- ---------------
A001       Subbarao        Bangalore                           
A002       Mukesh          Mumbai                              
A003       Alex            London  

Сортировка приведенной выше таблицы должна дать мне следующий результат.

select * 
from table_name 
order by agent_name;

AGENT_CODE AGENT_NAME      WORKING_AREA                        
---------- ------------- ---------------
A003       Alex             London                           
A002       Mukesh           Mumbai                              
A001       Subbarao         Bangalore  

Теперь я хочу сохранить свою таблицу и сохранить отсортированный порядок на расположенные строки постоянно находятся в одной таблице

Например: когда я запускаю

 select * from table_name

, результаты должны отображаться, как показано ниже, без упорядочивания

AGENT_CODE AGENT_NAME      WORKING_AREA                        
---------- ------------- ---------------
A003       Alex             London                           
A002       Mukesh           Mumbai                              
A001       Subbarao         Bangalore                                                         

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Например: когда я запускаю select * from table_name. Результаты должны выглядеть, как показано ниже, без упорядочивания

Нет, это невозможно. SQL таблицы представляют неупорядоченный набор строк. В отсутствие явного предложения order by в запросе база данных может возвращать строки в любом порядке, и не гарантируется согласованность сортировки при последующих выполнениях одного и того же запроса.

Поэтому, если вам нужен последовательный порядок, do используйте в своем запросе предложение order by.

0 голосов
/ 29 мая 2020

Вы можете создать кластерный индекс для таблицы (если его еще нет). Тогда ваша таблица будет отсортирована в этом порядке ... но это не гарантирует, что запрос выбора вернет данные в этом порядке. Это можно сделать только при указании предложения order by.

Почему невозможно использовать order by?

...