webForumDet fria alternativet

Top tio?

12 svar · 279 visningar · startad av webbmannen

webbmannenMedlem sedan dec. 1999659 inlägg
#1

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

------------------
Vem ska du göra glad imorgon?

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Så här kanske


SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY links desc"

------------------
essentitia preter non sans multiplicandum

webbmannenMedlem sedan dec. 1999659 inlägg
#3

Bra försök LarsG men det gick inte:

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/webb

------------------
Vem ska du göra glad imorgon?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Access, hmm.
Så här då

SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY 1"

------------------
essentitia preter non sans multiplicandum

webbmannenMedlem sedan dec. 1999659 inlägg
#5

Fortfarande så listas inte de med flest träffar i fallade skala.

/webb

------------------
Vem ska du göra glad imorgon?

@ndersMedlem sedan juni 200026 914 inlägg
#6

SQL = "SELECT top 10 [Ref], COUNT(*) AS links FROM statistik GROUP BY [Ref] ORDER BY 1 DESC"

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

webbmannenMedlem sedan dec. 1999659 inlägg
#7

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

------------------
Vem ska du göra glad imorgon?

LarsGMedlem sedan dec. 200012 465 inlägg
#8

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

------------------
essentitia preter non sans multiplicandum

webbmannenMedlem sedan dec. 1999659 inlägg
#9

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 :e

Däremot så ville nu plötsligt inte "top 10" fungera längre :q 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

------------------
Vem ska du göra glad imorgon?

LarsGMedlem sedan dec. 200012 465 inlägg
#10

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.

------------------
essentitia preter non sans multiplicandum

webbmannenMedlem sedan dec. 1999659 inlägg
#11

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

------------------
Vem ska du göra glad imorgon?

LarsGMedlem sedan dec. 200012 465 inlägg
#12

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 "

------------------
essentitia preter non sans multiplicandum

webbmannenMedlem sedan dec. 1999659 inlägg
#13

Stort tack LarsG, du har lärt mig nyttiga saker idag :)

/webb

------------------
Vem ska du göra glad imorgon?

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb