Hur skriver man sql så man kan presentera resultatet som i sökmotorerna...1-49,50-99, osv.
Select post 50-100 ?
8 svar · 182 visningar · startad av presario
Det finns inget som fungerar för alla databaser. Beroende på vilken databas man använder kan man göra lite olika.
Det går också att sköta om det i ASP eller något annat gränssnitt.
Här finns ett exempel på hur man gör i ASP
http://cgi.webforum.nu/wf/arkiv/asp_faq.html#paging
------------------
essentitia preter non sans multiplicandum
Om man använder Access, finns det något sätt då....eller Mysql
Kan man inte använda typ "TOP" med ett offset ?
Nej, top har inget offset. Det går att använda subselect
Ta rad 51-100
select top 50 * from ogrish
where id not in (select top 50 id
from ogrish order by id )
order by id
En sådan lösning är inte speciellt effektiv. Då är det oftast bättre att använda ett frikopplat recordset (som i exemplet) eller getrows.
I mysql kan du använda funktionen limit som kan ta ett offset,så där är det enklare
select * from ogrish order by id limit 50,50
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 05 nov 2001]
Tack för hjälpen.
Nu kan jag tyvärr int asp så bra.
Jag kodar i jsp....men om jag fattat rätt så får jag loopa mig fram tex 50 poster printa ut..och skippa resten.
Om du använder MySQL fungerar ju LarsG's kod för MySQL vilket språk du än använder.
JSP och Access är jag inte direkt het på, däremot... :l
------------------
SPiN, bjorne.w@telia.com
-- Tekniska framsteg är som en yxa i händerna på en kriminell galning / Albert Einstein --
Du kanske kan använda ett cachat rowset. Har dock inte koll på vilka drivers som stöder det.
------------------
essentitia preter non sans multiplicandum
Jag använder Access när jag testar....
Men jag löste det med att själv hålla reda på vilka poster som skall skrivas ut och vilka det skall skapas "länkar" till.