в запросе - Упорядочить и выбрать первые

1. Nadushka74 5 18.10.17 15:49 Сейчас в теме
Что первичнее упорядочивание или выборка первых?
Имеет ли смысл конструкция выбрать первые 1 с упорядочиванием?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisCh 18.10.17 15:53 Сейчас в теме
Имеет.
сначала выполняются все предикаты и сортировки, и в самом конце идёт выборка.
Nadushka74; herfis; +2 Ответить
3. herfis 499 18.10.17 15:58 Сейчас в теме
Более того. Получение первых записей упорядоченной выборки - довольно распространенный прием.
Nadushka74; +1 Ответить
4. Nadushka74 5 18.10.17 16:07 Сейчас в теме
вот бы еще ссылку на документацию, а то не могу доказать что все корректно
5. herfis 499 18.10.17 16:10 Сейчас в теме
(4) Встроенная справка:

Ключевое слово ПЕРВЫЕ
ПЕРВЫЕ <Количество> позволяет задать предельное количество строк в результате запроса. Для этого в описании запроса следует указать ключевое слово ПЕРВЫЕ, и после него – требуемое количество строк.

Будут отобраны самые первые (в соответствии с правилами упорядочивания результатов запроса) строки.

ЗЫ. Но вообще, я это еще по TransactSQL и другим диалектам знаю :) Стопудов это прям в стандарт ANSI SQL заложено, но искать лениво.
6. DenisCh 18.10.17 16:16 Сейчас в теме
(5)
Стопудов это прям в стандарт ANSI SQL заложено, но искать лениво.


не надо искать. Это основы.
7. supp 3 24.05.19 08:39 Сейчас в теме
Т.е. мы выберем ВСЕ данные, упорядочим их, и только потом возьмём первые строки?
8. spacecraft 24.05.19 09:22 Сейчас в теме
Можно рассматривать документацию не только 1С.
Вот по MSSQL для TOP(ПЕРВЫЕ) https://docs.microsoft.com/ru-RU/sql/t-sql/queries/top-transact-sql?view=aps-pdw-2016

TOP (Transact-SQL)
Ограничивает число строк, возвращаемых в результирующем наборе запроса до заданного числа или процентного значения в SQL Server 2017. Если вы используете TOP с предложением ORDER BY, в результирующий набор включаются только первые N строк отсортированного результата. В противном случае TOP возвращает N строк в неопределенном порядке. Это предложение позволяет ограничить число строк, возвращаемых инструкцией SELECT.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот