---
title: "avancerad sortering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/147822-avancerad-sortering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Frexuz"
published: "2006-06-08T01:27:32.000Z"
updated: "2006-06-08T07:24:40.000Z"
replies: 2
views: 428
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/147822-avancerad-sortering"
---

# avancerad sortering

## #1 — Frexuz, 2006-06-08T01:27Z

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 ? :)

Permalänk: https://www.webforum.nu/p/147822

## #2 — cyprys, 2006-06-08T05:58Z

```
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
```

Permalänk: https://www.webforum.nu/p/1827441

## #3 — LarsG, 2006-06-08T07:24Z

Flyttas från ASP

Permalänk: https://www.webforum.nu/p/1827459

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/147822-avancerad-sortering
