SQL
2 отговора
96 прегледа
SQL
Ако някой ми каже как да направя:
SELECT * FROM abc LIMIT 5 , 10
при ASP и SQL ще му бъда много благодарен :).
SELECT * FROM abc LIMIT 5 , 10
при ASP и SQL ще му бъда много благодарен :).
според мен...
Значи, в MS SQL имаш само TOP (поне аз не знам друго)
Select top 100 * from abc
Както си се сетил, селектирането на повече редове, прехвърлянето им към ASP и обработката им може да направи един бърз скрипт просто да умре (проверено многократно)
Ако имаш случай, в който (примерно при пейджиране) ти трябват резултати 10000-10100 от 1000000 и select top 10100 вече не те устройва, можеш да направиш следното:
Инсъртваш в темпорари таблица (или variable от datatype table) топ 10100, селектираш последните 100 r дропваш таблицата...
Select top 100 * from abc
Както си се сетил, селектирането на повече редове, прехвърлянето им към ASP и обработката им може да направи един бърз скрипт просто да умре (проверено многократно)
Ако имаш случай, в който (примерно при пейджиране) ти трябват резултати 10000-10100 от 1000000 и select top 10100 вече не те устройва, можеш да направиш следното:
Инсъртваш в темпорари таблица (или variable от datatype table) топ 10100, селектираш последните 100 r дропваш таблицата...
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 е пореден номер.
Ама не съм сигурен, че това е най-доброто решение. Ако може някой, по-компетентен от мен да се поизкаже :)
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 на