Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-94845
Шаповалов К.
2003-05-20 08:14
2003.05.29
Как дивигать форму только за один, определённый Image?


1-94877
Grey_g
2003-05-17 10:30
2003.05.29
DateTime


1-94894
Ajax
2003-05-15 23:07
2003.05.29
Самое нижнее окно.


3-94674
Avreliy
2003-05-12 16:26
2003.05.29
Non-blob column in table required to perform operation!


14-95037
miha po
2003-05-08 20:28
2003.05.29
Реклама в shareware версии AdvStringGrid




   Наверх