Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизВыбор записей из нужной позиции. Найти похожие ветки
← →
Img (2004-01-22 17:08) [0]Мастера, подскажите, пожалуйста, можно ли с помощью SQL выбрать из таблицы первые 30 записей, следующие 30 и т.д. и как это можно сделать, если ДА?
Спасибо.
← →
Sandman25 (2004-01-22 17:14) [1]Какая СУБД?
← →
Img (2004-01-22 17:16) [2]Access 2000
← →
Sandman25 (2004-01-22 17:18) [3]Вот с Access то я и не работал :(
select first 30 * from table
или
select top 30 * from table
или
select top 30 skip 180 * from table
Может, что-то и сработает :)
← →
VAleksey (2004-01-22 17:29) [4]Если ADO, то можно попробовать побаловаться со св-вом MaxRecords, хотя я не уверен, и это уже не SQL.
А в SQL такое редко реализуется. Не нужно оно там.
← →
Nikolay M. (2004-01-22 17:47) [5]
> в SQL такое редко реализуется. Не нужно оно там.
Уверен?
SELECT TOP 10 * FROM tTable WHERE Name > :Name ORDER BY Name
где :Name - значение поля Name, полученное из предыдущей пачки в 10 записей, на первой итерации оно либо равно "", но тогда в Name не должно быть пустых записей, либо вообще не использовать (на первой итерации) условие WHERE.
← →
Vemer (2004-01-23 23:55) [6]Вариант доработки предложения Nikolai M.
- Получить минимальный номер ID или первое имя (а имена можно так сравнивать?)
- делать запрос типа
SELECT TOP 20 Name FROM My_Table WHERE ID >= :ID ORDER BY Name
- По необходимости менять ID(Max(ID)+1/Min(ID)-1 из полученного набора сответственно), открывать заново..
-
← →
Nikolay M. (2004-01-24 14:18) [7]
> Vemer ©
А Name у меня в WHERE и сортировке просто так жирным выделено? По какому полю сортируешь, по нему же и WHERE должно быть.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c