Представьте, что мы имеем следующую таблицу, что делает заказ 1,2 сделать
create table t
(item number,
bin number,
primary key (bin , item));
я использовал вставку в команду, чтобы вставить несколько значений в таблицу t
, теперь я заинтересован в том, что делает этот код
select * from t
order by 1,2;
Насколько я знаю, он выбирает все из таблицы t
и сортирует его, потому что порядок означает сортировку выбранного запроса, используя условие, указанное в команде заказа, но order 1,2
Я не мог понять, что это значит, не могли бы вы мне помочь?
Чтобы добавить к этому: иногда это может быть полезно, например, когда у вас есть вычисление в столбце результата. Затем вместо того, чтобы добавлять вычисления в сортировку (а также выбор), вы можете просто указать позицию вычисленного столбца. – Sean
@SeanW - Вы также можете заказать по столбцу псевдоним для этого случая. Единственный раз, когда я когда-либо пользовался порядком по порядку столбца, - это запрос об отброске запросов. –
@MartinSmith хорошая точка. Я также использую его, когда у меня есть одно и то же имя столбца дважды в результате, например: «SELECT dateinserted, * FROM table ORDER BY 1». Обычно dateinserted - последний столбец в длинном списке, и я слишком ленив, чтобы прокручивать вправо. (Только для отладки чего-то в SSMS) – Sean