Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-94776
dpv
2003-05-12 12:28
2003.05.29
работа в консоле


1-94912
Ghost
2003-05-17 13:47
2003.05.29
Сервис winNT.


7-95148
kliff
2003-03-30 13:51
2003.05.29
Как создать системную службу?


3-94659
atruhin
2003-05-06 18:09
2003.05.29
Существует ли библиотека БД без VCL. Очень нужно.


6-94995
KarpenkoPavel
2003-03-29 05:15
2003.05.29
Internet