Antal rader i tabellen och db-hämtning samtidigt?

ASP

5 svar · 217 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Trådstart#1

Går det att i samma sql-fråga hämta antal rader och samtidigt göra en hämtning?

Medlem sedan dec. 200012 464 inlägg
#2

Ja,


  select ogrish.*,
     (select count(*) from ogrish
            where aleb = 4711) as antal
    from ogrish
   where aleb = 4711

Alternativ så kan man göra så här


sql = "select * from ogrish where aleb = 4711"
set rs = connect.execute(SQL)
rows = rs.getrows

antal = ubound(rows,2) + 1
Medlem sedan maj 20011 312 inlägg
#3

Det första alternativet blir det nog för jag vill inte hämta alla med getrow. Jag vill bara räkna alla och sen hämta några av dessa.

Förresten det där med antal i en array. Varför har du plus ett i slutet. Jag har inget i slutet och det fungerar ändå? Vad gör plus 1?

antal = ubound(rows,2) + 1

Medlem sedan dec. 200012 464 inlägg
#4

ubound returnerar högsta indexet i arrayen och då första indexet är 0 så ...

Medlem sedan juni 200032 967 inlägg
#5

ubound ger dig ju högsta (sista) positionen i en array. dock är det ju som så, att första positionen i en array är position 0, så för att en räkning skall ge rätt antal, så får du lägga till 1 till resultatet.

mvh,

Medlem sedan maj 20011 312 inlägg
#6

Jo, jag vet vad ubound gör...anledningen för att det fungerar hos mig insåg jag nu är att min for-loop börjar på noll...:)

378 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
123 ms — hämta statistik (db)
125 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)