Toon posts:

[asp mssql] selectie van records in stukken hakken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi mensen, ik heb een database met namen, ik heb
code:
1
"select * from bla where naam like 'b%'

dan komen er zo'n 5000 uitrollen, om dat tegen te gaan heb ik dit gedaan:
code:
1
2
3
4
5
6
7
do while not ors.eof
response.write ors.fields("de naam")
if cntprints=30 then
 exit do
end if
cntprints=cntprints+1
loop

hoe kan ik nou het 2e stuk van 30 records het beste opvragen?

  • dirkpostma
  • Registratie: Juni 2001
  • Laatst online: 10-05 16:53
Op maandag 29 april 2002 20:55 schreef boriz het volgende:
code:
1
"select * from bla where naam like 'b%'

hoe kan ik nou het 2e stuk van 30 records het beste opvragen?
Tip:
code:
1
2
3
4
5
6
7
8
 SELECT 
   *
 FROM
   bla
 WHERE 
   naam like 'b%'
 LIMIT
   0,25

Ofwel: maak gebruik van LIMIT. Eerst is offset, tweede is aantal na offset.

Verwijderd

Nou, LIMIT werkt niet met SQLServer hoor :)

TOP in de SELECT clause meegeven of
SET ROWCOUNT getal

wil ook nog wel eens helpen :)

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

the magic words you're looking for: recordset paging :)

Today's subliminal thought is:


Verwijderd

Topicstarter
Nu begrijp ik nog steeds niet hoe ik bijvoorbeeld regel 10 t/m 20 selecteer met deze voorwaareden.

tsql="select * from bla where naam like 'b%'"

top limit en set rowcount werkt allemaal NIET

Verwijderd

Op maandag 29 april 2002 21:57 schreef Otis het volgende:
Nou, LIMIT werkt niet met SQLServer hoor :)

TOP in de SELECT clause meegeven of
SET ROWCOUNT getal

wil ook nog wel eens helpen :)
Word met die set rowcount de limiet niet al gezet voor ie z'n orderby's gaat doen en met 'n top er na? (gokker de gok, geen books online hier dus kan 't nie nazoeken..)

Verwijderd

Topicstarter
select top 100 * from blaaa, doet het wel, alleen nu wil ik van 100 to 200 openen, hoe doe ik dat dan?

Verwijderd

Op dinsdag 30 april 2002 12:57 schreef boriz het volgende:
Nu begrijp ik nog steeds niet hoe ik bijvoorbeeld regel 10 t/m 20 selecteer met deze voorwaareden.

tsql="select * from bla where naam like 'b%'"

top limit en set rowcount werkt allemaal NIET
Oh, je wilt het 2e deel etc ?

Dit is al vaker aan de orde geweest.

Gebruik stored procedure die:
1) Creeert temptable met zelfde layout als de resultset met 1 keyfield: een identity column
2) stop de resultset in die temptable.
3) doe een select op de temptable waarbij je de resultaten selecteert die je wilt.
4) return die results.

1 en 2 kun je combineren in 1 SELECT INTO statement. 3 en 4 kun je combineren in 1 SELECT * statement.

De temptable kun je cachen door die eerst te creeeren op de connection en die open te houden totdat je klaar bent. Zolang de connection open blijft blijft de temptable bestaan en hoef je alleen de select * statement op de identity column uit te voeren.

----
Over top/ rowcount:
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.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

btw. misschien is het handig als je je bij 1 topic houdt.
zie ook: [topic=444181/1/25]

Today's subliminal thought is:

Pagina: 1