Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
Вниз
SQL. Вывод первых несколько записей Найти похожие ветки
← →
worldmen © (2006-06-08 12:46) [0]Как в selecte вывести первые, например 10 записей.
БД - Oracle
(уже задавал этот вопрос но не нашел эту страницу)
← →
Sergey13 © (2006-06-08 12:48) [1]select * from (select.... order by...) where rownum<11
← →
Perf2k2 © (2006-06-08 12:51) [2]А в Access так нельзя насколько я знаю? пытался как в MySQL лимит пользовать, но не понимает он его.
← →
StriderMan © (2006-06-08 12:55) [3]в InterBase можно так SELECT FIRST 10 * FROM ....
попробуй
← →
saxon (2006-06-08 12:55) [4]select TOP 10 ...
так не поможет?
← →
Perf2k2 © (2006-06-08 12:56) [5]
> select TOP 10
Кстати работает! СПС!
← →
xfree (2006-06-08 14:53) [6]что за ТОР 10, не слышал никогда о таком
еще вариант
select rownum,id,name
from db.town
group by rownum,id,name
having rownum <=10
← →
Ega23 © (2006-06-08 14:55) [7]
> что за ТОР 10, не слышал никогда о таком
Это из T-SQL диалекта.
← →
xfree (2006-06-08 15:06) [8]пример запроса полного можешь дать?
← →
Ega23 © (2006-06-08 15:23) [9]
Limiting Result Sets Using TOP and PERCENT
The TOP clause limits the number of rows returned in the result set.
TOP n [PERCENT]
n specifies how many rows are returned. If PERCENT is not specified, n is the number of rows to return. If PERCENT is specified, n is the percentage of the result set rows to return:
TOP 120 /*Return the top 120 rows of the result set. */
TOP 15 PERCENT /* Return the top 15% of the result set. */.
If a SELECT statement that includes TOP also has an ORDER BY clause, the rows to be returned are selected from the ordered result set. The entire result set is built in the specified order and the top n rows in the ordered result set are returned.
The other method of limiting the size of a result set is to execute a SET ROWCOUNT n statement before executing a statement. SET ROWCOUNT differs from TOP in these ways:
The SET ROWCOUNT limit applies to building the rows in the result set after an ORDER BY is evaluated. When ORDER BY is specified, the SELECT statement is terminated when n rows have been selected from a set of values that has been sorted according to specified ORDER BY classification.
The TOP clause applies to the single SELECT statement in which it is specified. SET ROWCOUNT remains in effect until another SET ROWCOUNT statement is executed, such as SET ROWCOUNT 0 to turn the option off.
Запрос:Slelect top 10 * from sysobjects
← →
worldmen © (2006-06-08 16:54) [10]Спасибо, rownum работает.
Я еще не правильно задал вопрос.
Нужно что бы select выводил информацию порциями. Т.к. записей очень много (больше 20000) запрос выполняется долго.
Я хотел бы выводить например по 10-20 строк, потом еще столькоже. Как отдельные страницы.
← →
Sergey13 © (2006-06-08 16:55) [11]2 [10] worldmen © (08.06.06 16:54)
А не думал над тем, что бы выводить не все записи, а только те которые нужны?
← →
Ega23 © (2006-06-08 16:55) [12]Фильтровать такие вещи надо. Вот подумай: ну нафига мне 20000 записей в одном гриде? Что я с ними делать буду? 150 ещё куда ни шло...
← →
worldmen © (2006-06-08 20:06) [13]
> Ega23 © (08.06.06 16:55) [12]
> Фильтровать такие вещи надо. Вот подумай: ну нафига мне
> 20000 записей в одном гриде? Что я с ними делать буду? 150
> ещё куда ни шло...
Это отфильтрованные.
← →
ANB © (2006-06-08 20:12) [14]
> worldmen © (08.06.06 20:06) [13]
Если воспользуешься DOA или ODAC, то там в компонентах есть настройки, по сколько записей фетчить.
← →
evvcom © (2006-06-09 08:42) [15]
> Я хотел бы выводить например по 10-20 строк
Я так понял, что это типа как на WEB-сайтах, тех же форумах? Тогда [1] чуть модифицировать надо:
select *
from (
select rownum as rnum, t.*
from (select.... order by...) t
)
where rnum between 11 and 20
или есть еще вариант с аналитическими функциями, но это ты уж сам, если захочешь.
← →
Ega23 © (2006-06-09 10:03) [16]
> Это отфильтрованные.
Бедные пользователи твоей программы. Им можно только посочуствовать...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c