Bara högsta värdet...

ASP

2 svar · 268 visningar · startad av Pontus

Medlem sedan maj 200020 inlägg
Trådstart#1

Skulle behöva nån som pekar mig i rätt riktning här...

Har följande kod:
**************************************
SQLCHK = "SELECT eventsID FROM tbl_events WHERE Publish= 1"

set rschk = server.CreateObject("ADODB.Recordset")
rschk.Open SQLCHK, conn, 3, 3, 1

Do until rschk.EOF
SQLCOUNT = "Select Count(lineitemID) AS hitnumbers From tbl_lineitems WHERE lineitemID=" & rschk("eventsID")

set rscount = server.CreateObject("ADODB.Recordset")
rscount.Open SQLCOUNT, conn, 3, 3, 1

Response.Write rscount("hitnumbers") & ","

rschk.MoveNext
Loop
**************************************

Jag kollar alltså i databasen om samma id återfinns fler ggr i en tabell.

Jag får just nu upp en fin liten kommaseparerad lista på hur många ggr id:t hittas, typ "1,2,1,3,3".

Problemet är att jag vill ha ut det högsta värdet, och inget annat...

Medlem sedan dec. 200012 464 inlägg
#2

Du kan ju slå ihop dina frågor till en med group by:

select count(lineitemID) as ogrish, lineitemID from tbl_lineitems tl, tbl_events te where te.eventsID = tl.lineitemID and te.publish = 1 group by lineitemID order by ogrish desc

Den här frågan kommer för varje lineitemID att returnera hur många förekomster som finns och de sorteras så att de som förekommer mest kommer först.
Om din DBMS stödjer en funktion som TOP eller LIMIT så kan du ju lägga till det för att få ut ett begränsat antal värden, annars så är det bara att ta första värdet i RecordSetet.
Hoppas detta är till någon hjälp.

Medlem sedan maj 200020 inlägg
#3

Ahhh! *nöjd*

LarsG, det funkade perfa! Tack! :)

262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)