webForumDet fria alternativet

avancerad sortering

2 svar · 410 visningar · startad av Frexuz

FrexuzMedlem sedan maj 2003138 inlägg
#1

Kod som hämtar alla olika upplösningar från min databas och räknar hur många det finns av varje och räknar ut procent (total_besök finns längre upp i min kod)

SQL = "SELECT DISTINCT(screen) FROM stats"
set rs2 = connect.execute(sql)
response.write "</ul><br /><h2>Resolutions</h2><ul>"
do until rs2.eof
screen = rs2("screen")
	SQL = "SELECT COUNT(ID) as screen FROM stats WHERE screen = '" & screen & "'"
	Set rs = connect.execute(sql)
	response.write "<li><span class=""topic"">" & screen & ": </span>" & rs("screen") & " (" & round((rs("screen")/total_besok)*100,2) & "%)</li>"
rs2.movenext
loop

Frågan är nu om det på något sätt gör att sortera ut dessa med det minsta först som på riktigt i datorn. Nu kommer de upp såhär:

1024x696: 1 (0,09%)
1024x768: 335 (30,65%)
1152x864: 60 (5,49%)
1280x1024: 503 (46,02%)
1280x720: 1 (0,09%)
1280x768: 5 (0,46%)
1280x800: 66 (6,04%)
1280x960: 37 (3,39%)
1360x768: 1 (0,09%)
1400x1050: 5 (0,46%)
1440x900: 12 (1,1%)
1600x1024: 2 (0,18%)
1600x1200: 32 (2,93%)
1680x1050: 9 (0,82%)
176x182: 1 (0,09%)
1920x1200: 3 (0,27%)
2560x1024: 1 (0,09%)
480x272: 1 (0,09%)
800x5000: 2 (0,18%)
800x600: 16 (1,46%)

Off topic: Vad fan används 800x5000 i ? :)

cyprysMedlem sedan dec. 20003 563 inlägg
#2
response.write "</ul><br /><h2>Resolutions</h2><ul>"
sql = "select screen, count(id) as antal from stats " & _
	"group by screen order by antal"
set rs = connect.execute(sql)
do until rs.eof
	response.write "<li><span class=""topic"">" & rs("screen") & ": </span>" & 
	rs("antal") & " (" & round((cint(rs("antal"))/total_besok)*100,2) & "%)</li>"
rs.movenext
loop

Edit
Nu när jag tänker är din frågeställning rätt luddig. Jag tror jag missuppfattat frågan. Om du menar hur man sorterar efter upplösningen med den lägsta först så blir det en helt annan fråga. I sådana fall skulle jag rekommendera att du skapar två kolumner av nuvarande kolumn screen. Dessa skulle heta t.ex. screenX och screenY. Beroende på vilken database skulle du konkatenera dessa för att bilda unika värden och hämta ut på liknande sätt som ovan.
Sorteringden skulle helt enkelt bli:

... order by screenX, screenY
LarsGMedlem sedan dec. 200012 464 inlägg
#3

Flyttas från ASP

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)