|
предикат TOP
|
|||
---|---|---|---|
#18+
в ctl содержатся значения:3,5,5,8,8 какие записи должен вернуть SELECT TOP 3......ORDER BY ctl DESC фактически:8,8,5,5 я считал:8,8,5,5,3 В чем я ошибаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2018, 01:21 |
|
предикат TOP
|
|||
---|---|---|---|
#18+
sdku, для начала немного теории https://support.office.com/ru-ru/article/Предикаты-all-distinct-distinctrow-и-top-24f2a47d-a803-4c7c-8e81-756fe298ce57 TOP n Возвращает записи, относящиеся к верхней или нижней части диапазона, заданного предложением ORDER BY . Предположим, что вы хотите получить имена 25 лучших студентов из группы 1994 г.: Код: sql 1. 2. 3. 4. 5.
Если не включить предложение ORDER BY, запрос вернет из таблицы Students произвольный набор, включающий 25 записей, которые удовлетворяют предложению WHERE. Предикат TOP не выбирает между равными значениями. Если в предыдущем примере двадцать пятый и двадцать шестой средний балл совпадают, запрос вернет 26 записей. Вы также можете использовать зарезервированное слово PERCENT для возвращения определенного процента записей из верхней или нижней части диапазона, заданного предложением ORDER BY. Предположим, что вместо 25 лучших студентов вы хотите получить 10 процентов худших студентов группы: Код: sql 1. 2. 3. 4. 5.
Предикат ASC позволяет вернуть нижние значения. Значение после TOP должно быть целым числом без знака. TOP не влияет на возможность обновления запроса. Исходя из вышепроцитированного TOP возвращает записи, а не значения. Т.е он взял верхние 3 записи и так как не смог различить записи номер 3 и 4 (мы же отсортировали) добавил к трём четвёртую. Если бы записей было бы по три с каждым значением, то TOP вернул три записи с одним значением 8. ИМХО. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2018, 04:14 |
|
|
start [/forum/topic.php?fid=45&fpage=49&tid=1611354]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 149ms |
0 / 0 |