Форум: "Базы";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
ВнизХитрый запрос Найти похожие ветки
← →
Rail (2002-06-06 09:24) [0]Возможно ли только методами SQL выполнить запрос, который отбирает определенное количество записей?
← →
Johnmen (2002-06-06 09:27) [1]Типа ...???????
← →
Lord Warlock (2002-06-06 09:37) [2]естественно :) он для этого и предназначен
← →
Lord Warlock (2002-06-06 09:43) [3]
> естественно :) он для этого и предназначен
поправка. нельзя
← →
bpv (2002-06-06 09:45) [4]при использовании bde можно смотри справку
← →
fool (2002-06-06 10:35) [5]В MSSQL можно:
select top 5 * from таблица
возвращает первые 5,
сюда можно добавлять дополнительные условия с пом. where
← →
dimis (2002-06-06 10:47) [6]запрос не хитрый
просто на до выяснить какую субд пользуешь
fool привел пример из MSSQL
так делается в Oracle
select * from table1 where rownum<=5
p.s. я не уверен но по-моему rownum и в IB есть
← →
Lusha (2002-06-06 10:48) [7]>fool © (06.06.02 10:35)
Не всякий MS SQL знает директиву TOP... :)
>bpv (06.06.02 09:45)
А вот это для меня новость... :)
← →
Nikolay M. (2002-06-06 14:26) [8]В MySQL есть прекрасная добавка LIMIT:
SELECT * FROM TableName LIMIT 200, 300
выберет 300 записей, начиная с 200-й (естественно, в рамках написанного запроса)
← →
Anatoly Podgoretsky (2002-06-06 14:31) [9]Зависит от базы
← →
passm (2002-06-06 14:31) [10]Можно.
Разобъем задачу на две части:
1. Вывести строки таблицы с нумерацией
2. Вывести строки этой таблицы из некоторого диапазона.
Решение1:
SELECT COUNT(T2.ID) AS POS_NUM, T1.ID
FROM T1
INNER JOIN T1 AS T2 ON (T1.ID >= T2.ID)
GROUP BY T1.ID
Решение2:
SELECT Q1.POS_NUM, Q2.ID, Q2.NAME
FROM (SELECT COUNT(T2.ID) AS POS_NUM, T1.ID
FROM T1
INNER JOIN T1 AS T2 ON (T1.ID >= T2.ID)
GROUP BY T1.ID) AS Q1
INNER JOIN T1 AS Q2 ON (Q1.ID = Q2.ID)
WHERE Q1.POS_NUM BETWEEN :POS_MIN AND :POS_MAX
Где параметры POS_MIN и POS_MAX определяют диапазон строк.
← →
Johnmen (2002-06-06 14:46) [11]>passm (06.06.02 14:31)
Извини великодушно, но по-моему по сути это бред....
← →
pavelB (2002-06-06 14:50) [12]Lusha ©
есть функция в БДЕ которая ограничевает количество записей возвращаемых SQL
← →
Johnmen (2002-06-06 14:58) [13]>pavelB (06.06.02 14:50)
>есть функция в БДЕ которая ограничевает количество записей
>возвращаемых SQL
Можно ее здесь привести ?
← →
Lusha (2002-06-06 15:01) [14]>pavelB (06.06.02 14:50)
Да-а-а? Век живи, век учись... А ее имя не подскажете?
← →
dimis (2002-06-06 15:03) [15]>Johnmen © (06.06.02 14:46)
>но по-моему по сути это бред....
согласен
меня интересует "где автор вопроса"? пусть появится и ответик в конце концов какую субд он использует и использует ли bde
а спор между "мастерами" это "из пустого в порожнее"
← →
Johnmen (2002-06-06 15:05) [16]>dimis (06.06.02 15:03) : Совершенно согласен !!!! :)))))
← →
passm (2002-06-06 15:24) [17]Это не бред. Это SQL. Что конкретно не понятно?
Если СУБД автора вопроса понимает синтаксис SELEST... FROM (SELECT... то работать будет.
А что касается некой функции DBE (name?), то я не видел никакой на нее (BDE) ссылки в вопросе.
← →
Johnmen (2002-06-06 15:32) [18]>passm (06.06.02 15:24)
>Это не бред....
Да работать то будет. Вот только что получится в результате оной работы....(имел в виду именно результат) :-))))))
← →
passm (2002-06-06 15:41) [19]Результат зависит от содержимого таблицы T1, запрашиваемых полей и диапазона значений (во втором запросе она под алиасом Q2). Еще раз повторю: автор писал ТОЛЬКО МЕТОДАМИ SQL. У тебя есть другое решение? Напиши его. Буду рад его увидеть. ;)
← →
Johnmen (2002-06-06 15:50) [20]>passm (06.06.02 15:41)
Ну как ты не поймешь, что по сути надо ограничить количество зафетченых записей (20, 1000 или 100000000000).
>У тебя есть другое решение?
Оно будет после указания типа СУБД. А на чистом SQL92 такое не пройдет.
← →
Rail (2002-06-06 16:01) [21]А вот и не подеретесь!:)
А я не подстрекатель!:)
← →
passm (2002-06-06 16:04) [22]И ты пойми, что какой вопрос - такой ответ. Еще раз ТОЛЬКО МЕТОДАМИ SQL.
← →
Johnmen (2002-06-06 16:15) [23]>passm (06.06.02 16:04)
>И ты пойми, что какой вопрос - такой ответ.
Истинно так !
>Еще раз ТОЛЬКО МЕТОДАМИ SQL.
Каккого такого SQL ? Какого его клона ?
>Rail : Ты просто не знаешь чего хочешь....
>All : Предлагаю закрыть вопрос за бессмысленностью...
← →
Rail (2002-06-07 09:19) [24]Спасибо всем за участие. Попробую все методы. Еще раз всем спасибо. Я использую IB 6.0, но попробую и на MS SQL.
P.S. Какой-то черт под моим именем влез и пару раз ответил.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.005 c