Så här kanske
SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY links desc"
12 svar · 303 visningar · startad av webbmannen
Den här raden:
SQL = "SELECT [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY [ref]"
fixar så att jag får refererande siter sammanräknade och presenterade i en tabell.
Nu blir det ju lite mycket med tiden, och jag undrar hur man skriver för att bara visa tex de 10 siter med flest träffar listade med högst antal överst.
/webb
Så här kanske
SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY links desc"
Bra försök LarsG men det gick inte:
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/webb
Access, hmm.
Så här då
SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY 1"
SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY 1 DESC"
Jag har, redan innan mitt första inlägg, försökt med både top 10 och DESC.
Problemet som inte är löst är att DESC inte påverkar de sammansräknade träffarna links utan går på de senaste [ref].
/webb
Strulade lite, sorry.
SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY 2 desc"
Siffran anger att man skall sortera efter andra kolumnnen i select-listan
Aha! nu lärde jag mig något nytt
Förstod inte vad siffran hade för betydelse tidigare men är nu lite klokare. Det fungerade dessutom
Däremot så ville nu plötsligt inte "top 10" fungera längre Finns det ett annat sätt att skriva detta på eller måste jag göra en loop och på det sättet begränsa antalet visade poster?
/webb
Top 10 betyder att man får 10 plus delningar så det kan bli mer än 10 om du har flera länkar med samma antal träffar.
Oki fattar, men det finns alltså inget annat alternativ än en loop om man som jag har, flera träffar på samma antal, och endast vill visa de tio med högsta antalet? (dvs. bryta just där trots att det finns fler med samma antal).
/webb
Ja det är ett sätt att bryta loopen, men i ditt fall så skulle du kunna ta med Ref-kolumnen i order by och då skulle det inte bli någon delning.
SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY 2 desc, 1 "