webForumDet fria alternativet
Logga in / Bli medlem

Räkna ut lite saker...

Databaser & SQL

3 svar · 201 visningar · startad av Mr_Eddie

Medlem sedan feb. 200213 inlägg
Trådstart#1

hojt!

Har ett litet problem, sitter och donar lite med ett statistik script...

har en tabell och alla träffar loggas.

har en liten loop som ser ut så här..

Först själv sql satsen...

Set rsRefer = Connect.Execute("SELECT DISTINCT referer FROM stat")

Sen har vi loopen....


<% Do Until rsRefer.eof
strRef = rsRefer("referer")
strReferers = Connect.Execute("SELECT count(*) FROM stat WHERE referer = '"&strRef&"'")
%>
  <tr>
    <td width="150" class="text"><%=strRef%></td>
    <td width="20" class="text" align="center"><%=strReferers(0)%></td>
    <td width="230" class="text"></td>
  </tr>
<% rsRefer.MoveNext
   Loop %>

Snabb förklaring...
har många inlägg med samma referens
typ en direkt träff låt oss säga 34 st... det räknas ut med count(*), inga problem, MEN om jag vill sortera denna lista så att den referens som har mest träffar kommer längst upp, hur gör jag då?

Sedan om jag bara vill visa dom 10 som har mest hur gör jag då ?

Finns det något annat sätt att göra det på så vore jag tacksam för något bra svar!!

Medlem sedan dec. 200012 464 inlägg
#2

Det beror på vilken databashanterare du använder.

Medlem sedan feb. 200213 inlägg
#3

Mysql

Medlem sedan dec. 200012 464 inlägg
#4

Det räcker med en select

select referer, count(*) as numberOfReferences
from stat
group by referer
order  by numberOfReferences desc
limit 0,10

Flyttas från ASP

384 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
130 ms — deklarationer (db)
129 ms — hämta statistik (db)
123 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)