SQL

2 отговора 96 прегледа
#1

SQL

Ако някой ми каже как да направя:
SELECT * FROM abc LIMIT 5 , 10
при ASP и SQL ще му бъда много благодарен :).

Отговор
в отговор на Mave_rick #2

според мен...

Значи, в MS SQL имаш само TOP (поне аз не знам друго)

Select top 100 * from abc

Както си се сетил, селектирането на повече редове, прехвърлянето им към ASP и обработката им може да направи един бърз скрипт просто да умре (проверено многократно)

Ако имаш случай, в който (примерно при пейджиране) ти трябват резултати 10000-10100 от 1000000 и select top 10100 вече не те устройва, можеш да направиш следното:

Инсъртваш в темпорари таблица (или variable от datatype table) топ 10100, селектираш последните 100 r дропваш таблицата...

Отговор
в отговор на dzver #3

Re: според мен...

Аз намерих друго решение:

SELECT TOP 10 abc FROM thetable WHERE id NOT IN (SELECT TOP 5 id FROM thetable ORDER BY id DESC) ORDER BY id DESC
Като ID е пореден номер.

Ама не съм сигурен, че това е най-доброто решение. Ако може някой, по-компетентен от мен да се поизкаже :)

Редактирано от Mave_rick на

Отговор