Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / предикат TOP / 3 сообщений из 3, страница 1 из 1
22.06.2018, 01:21
    #39663860
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
предикат TOP
в ctl содержатся значения:3,5,5,8,8 какие записи должен вернуть SELECT TOP 3......ORDER BY ctl DESC
фактически:8,8,5,5
я считал:8,8,5,5,3
В чем я ошибаюсь
...
Рейтинг: 0 / 0
22.06.2018, 04:14
    #39663875
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
предикат TOP
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.
SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage DESC;


Если не включить предложение ORDER BY, запрос вернет из таблицы Students произвольный набор, включающий 25 записей, которые удовлетворяют предложению WHERE.

Предикат TOP не выбирает между равными значениями. Если в предыдущем примере двадцать пятый и двадцать шестой средний балл совпадают, запрос вернет 26 записей.

Вы также можете использовать зарезервированное слово PERCENT для возвращения определенного процента записей из верхней или нижней части диапазона, заданного предложением ORDER BY. Предположим, что вместо 25 лучших студентов вы хотите получить 10 процентов худших студентов группы:

Код: sql
1.
2.
3.
4.
5.
 SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage ASC;


Предикат ASC позволяет вернуть нижние значения. Значение после TOP должно быть целым числом без знака.

TOP не влияет на возможность обновления запроса.


Исходя из вышепроцитированного TOP возвращает записи, а не значения. Т.е он взял верхние 3 записи и так как не смог различить записи номер 3 и 4 (мы же отсортировали) добавил к трём четвёртую. Если бы записей было бы по три с каждым значением, то TOP вернул три записи с одним значением 8. ИМХО.
...
Рейтинг: 0 / 0
22.06.2018, 13:04
    #39664172
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
предикат TOP
Панург,
Благодарствую.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / предикат TOP / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]