powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / предикат TOP
3 сообщений из 3, страница 1 из 1
предикат TOP
    #39663860
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в ctl содержатся значения:3,5,5,8,8 какие записи должен вернуть SELECT TOP 3......ORDER BY ctl DESC
фактически:8,8,5,5
я считал:8,8,5,5,3
В чем я ошибаюсь
...
Рейтинг: 0 / 0
предикат TOP
    #39663875
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
предикат TOP
    #39664172
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Благодарствую.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / предикат TOP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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