---
title: "Problem med sortering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/105817-problem-med-sortering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Sebbe"
published: "2004-06-19T17:06:15.000Z"
updated: "2004-06-20T19:12:44.000Z"
replies: 4
views: 331
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/105817-problem-med-sortering"
---

# Problem med sortering

## #1 — Sebbe, 2004-06-19T17:06Z

Jag håller på med ett system för att skapa en serietabell från ett matchschema i fotboll. Den nuvarande SQL-satsen för att ta ut lagens statistik ser ut såhär:

```
SELECT id, lagNamn,
((SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id AND hemmaMal > bortaMal) OR (bortaLag = lag.id AND bortaMal > hemmaMal)) * 3 + (SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id OR bortaLag = lag.id) AND hemmaMal = bortaMal)),
(SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id AND hemmaMal > bortaMal) OR (bortaLag = lag.id AND bortaMal > hemmaMal)),
(SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id OR bortaLag = lag.id) AND hemmaMal = bortaMal),
(SELECT COUNT(*) FROM matcher WHERE hemmaLag = lag.id OR bortaLag = lag.id)
FROM lag
ORDER BY 3 DESC
```

Mitt problem är att lagen inte sorteras efter deras poäng (vilket 'ORDER BY 3 DESC' borde göra), utan de visas i den ordningen som de lades in i databasen. Någon som har en aning om hur jag kan lösa problemet?

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

## #2 — OveRRidE, 2004-06-19T17:09Z

Varför inte göra alias med AS så kan du sortera efter namnet istället?

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

## #3 — Sebbe, 2004-06-19T17:18Z

Ingen aning varför, men då får jag felmeddelandet
'Microsoft JET Database Engine error '80040e10' 
No value given for one or more required parameters.' :o

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

## #4 — LarsG, 2004-06-20T19:06Z

Vissa exempel som jag har sett tyder på Access har problem med att sortera med avseende på komplexa uttryck

```
select * from (
SELECT id, lagNamn,
((SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id AND hemmaMal > bortaMal) OR (bortaLag = lag.id AND bortaMal > hemmaMal)) * 3 + (SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id OR bortaLag = lag.id) AND hemmaMal = bortaMal)) points,
(SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id AND hemmaMal > bortaMal) OR (bortaLag = lag.id AND bortaMal > hemmaMal)) as won,
(SELECT COUNT(*) FROM matcher WHERE (hemmaLag = lag.id OR bortaLag = lag.id) AND hemmaMal = bortaMal) as draw,
(SELECT COUNT(*) FROM matcher WHERE hemmaLag = lag.id OR bortaLag = lag.id) as played
FROM lag ) dt
ORDER BY points DESC
```

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

## #5 — Sebbe, 2004-06-20T19:12Z

Tack, Gud! ;) :D

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/105817-problem-med-sortering
