IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   MS SQL: Как выводить по сторок n из запроса вернувшего m ? (https://www.imho.ws/showthread.php?t=54546)

PLP 23.03.2004 15:13

MS SQL: Как выводить по сторок n из запроса вернувшего m ?
 
Приветствую, мне нужно вывести в грид результат запроса к MS SQL не весь сразу, а по частям (строк по 20), как это можно сделать средствами SQL? Заранее благодарен!

RaZEr 23.03.2004 15:16

RTFM. В SELECT есть LIMIT

PLP 23.03.2004 16:37

Принимаю ругательное ртфм в свой адрес, но от того не легче.

под лимитом можно понимать: TOP n [PERCENT]
или: SET ROWCOUNT n

это позволит лишь ограничить результат первыми n строками, а как я возьму следующие n?

Syntax
SELECT statement ::=
< query_expression >
[ ORDER BY { order_by_expression | column_position [ ASC | DESC ] }
[ ,...n ] ]
[ COMPUTE
{ { AVG | COUNT | MAX | MIN | SUM } ( expression ) } [ ,...n ]
[ BY expression [ ,...n ] ]
]
[ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT }
[ , XMLDATA ]
[ , ELEMENTS ]
[ , BINARY base64 ]
}
]
[ OPTION ( < query_hint > [ ,...n ]) ]

< query expression > ::=
{ < query specification > | ( < query expression > ) }
[ UNION [ ALL ] < query specification | ( < query expression > ) [...n ] ]

< query specification > ::=
SELECT [ ALL | DISTINCT ]
[ { TOP integer | TOP integer PERCENT } [ WITH TIES ] ]
< select_list >
[ INTO new_table ]
[ FROM { < table_source > } [ ,...n ] ]
[ WHERE < search_condition > ]
[ GROUP BY [ ALL ] group_by_expression [ ,...n ]
[ WITH { CUBE | ROLLUP } ]
]
[ HAVING < search_condition > ]

RaZEr 23.03.2004 16:57

Да, забыл я что в SQL Server'е нет конструкции LIMIT. Ну не важно :)

В чем собственно проблема? Используй либо TOP, либо ROWCOUNT. Разницы особой нет, за исключением того, что TOP не будет работать в SQL Server'ах раньше 7-ого.

Если использовать TOP, то например вот так:
Цитата:

SELECT top 10 * FROM mytable WHERE mykeyfield NOT IN (SELECT TOP 5 mykeyfield FROM mytable)
можно выбрать записи с 5 по 10.

PLP 23.03.2004 17:18

Оно хорошо если каждый раз при запросе (а таких явно будет не 1 и не 2) строки вернуться в одинаковой последовательности и ничего не потеряется и не продублируется. Добавлю, что сортировать их не хочется ни по каким критериям... или никуда не деться, не обойтись без этого?

RaZEr 23.03.2004 17:37

Цитата:

Оно хорошо если каждый раз при запросе (а таких явно будет не 1 и не 2) строки вернуться в одинаковой последовательности и ничего не потеряется и не продублируется
Не вижу никаких предпосылок (за исключением названия конторы :biggrin: ) к тому, чтобы что-то потерялось или продублировалось. Но даже если будут такие случаи, в чем проблема-то? Остается сортировать.

someone312002 24.03.2004 10:34

Скажите, а ссылки на известные "базовые" сайты можно приводить ? Можно ? Спасибо
Вот линк. Надеюсь, он вам поможет в разрешении проблемы.

УДАЧИ!!!

ПыСы. 2Модераторс: если я был неправ - киньте в меня чем-нить тяжёлым и корявым :о)


Часовой пояс GMT +4, время: 12:52.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.