Форум: "Базы";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизADO и SQL (вопрос по SQL) Найти похожие ветки
← →
DmitryNekl (2003-05-06 18:14) [0]Помогите, пожалуйста. Вопрос довольно глупый...
Есть база на Excel, нужно отобрать первые 5 записей.
Подключаюсь к Excelю с помощью ADO.
Пытаюсь отобрать все записи - все работает.
Пытаюсь отобрать первые 5 записей - не работает (отбираются все).
Запрос, который я использую, я смоделировал в Access -
"SELECT TOP 5 * FROM [Новости$] ORDER BY ""Дата"""
Что тут не так и как отобрать-таки 5 записей?
Заранее огромное спасибо :)
← →
sniknik (2003-05-06 18:40) [1]делай так
SELECT TOP 5 * FROM [Новости$] ORDER BY [Дата ]
но того ли ты хочеш? это сначала отсортирует а после выдаст 5 записей из отсортированого набора (не совсем первые)
истинно первые будет так
SELECT * FROM (SELECT TOP 5 * FROM [Новости$]) ORDER BY [Дата]
(сортирует потом уже их)
← →
DmitryNekl (2003-05-06 18:48) [2]Это просто гениально! :)))))
Спасибо огромное!!!!!
← →
DmitryNekl (2003-05-08 19:47) [3]Тут проблемка обнаружилась - помогите разрешить. Есть таблица:
id, Дата, Заголовок, Текст.
Нужно отобрать первые пять записей, отсортированных по дате.
Я делаю так:
SELECT TOP 5 * FROM [Новости$] ORDER BY [Дата] DESC"
И проблема: если 5 и 6 записи имеют одинаковую дату, то отбираются 6 записей, а не 5 :(. Как бы отобрать все-таки 5 записей?
Заранее спасибо! :)
← →
sniknik (2003-05-08 22:30) [4]ну да действительно... хм. именно если на переходе с одной на другую и именно если в конце. забавно.
и тд. 5 и 6 и 7 и 8 .... записи имеют одинаковую дату. если первая влазит в предел (5) то и остальные подтягиваются.
но вообще че ты как маленький прямо. ну сделай ему еще поверх ограничение ...
SELECT TOP 5 * FROM (SELECT TOP 5 * FROM [Новости$] ORDER BY [Дата] DESC)
(внутреннее ограничение тогда вроде как не нужно но лутше оставить, чтобы 2 раза операции над полной выборкой не производить)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c