---
title: "Få fram placering"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/78234-få-fram-placering"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "andreas_lindh"
published: "2003-05-27T11:53:45.000Z"
updated: "2003-05-27T19:03:47.000Z"
replies: 2
views: 199
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/78234-få-fram-placering"
---

# Få fram placering

## #1 — andreas_lindh, 2003-05-27T11:53Z

jag har den här frågan för att ta fram en tabell för hcokeyserier.
Går det på något sätt att få fram vilken placering laget haft som bäst,sämst och en genomsnitts placering?

```
SELECT s_deltagande_lag.ID, s_deltagande_lag.Namn,s_deltagande_lag.serie_id,
@games := Count(s_matcher.ID) AS games,
@win := Sum((s_deltagande_lag.ID=lagid_a And resultat_a > resultat_b ) 
Or (s_deltagande_lag.ID=lagid_b And resultat_a<resultat_b)) AS win,
@tie := Sum(resultat_a=resultat_b) AS tie,
@lost := ((Count(s_matcher.ID))-(Sum((s_deltagande_lag.ID=lagid_a And resultat_a > resultat_b )
Or (s_deltagande_lag.ID=lagid_b And resultat_a<resultat_b)))-(Sum(resultat_a=resultat_b))) as lost,
@poang:= ((Sum((s_deltagande_lag.ID=lagid_a And resultat_a > resultat_b )
Or (s_deltagande_lag.ID=lagid_b And resultat_a<resultat_b))*2)
 + (Sum(resultat_a=resultat_b))) AS poang,
@plus := Sum((s_deltagande_lag.ID=lagid_a)*resultat_a +
 (s_deltagande_lag.ID=lagid_b)*resultat_b) as plus,
@minus := Sum((s_deltagande_lag.ID=lagid_a)*resultat_b + 
(s_deltagande_lag.ID=lagid_b)*resultat_a) as minus,
@plusminus := Sum((s_deltagande_lag.ID=lagid_a)*resultat_a +
 (s_deltagande_lag.ID=lagid_b)*resultat_b) -
 Sum((s_deltagande_lag.ID=lagid_a)*resultat_b + (s_deltagande_lag.ID=lagid_b)*resultat_a) as plusminus
FROM s_deltagande_lag LEFT JOIN s_matcher ON (s_deltagande_lag.ID=s_matcher.lagid_a) 
Or (s_deltagande_lag.ID=s_matcher.lagid_b)
where s_deltagande_lag.serie_ID = 2
GROUP BY ID, Namn
ORDER BY 8 DESC, 11 DESC, 9 DESC, 10 ASC
```

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

## #2 — m_soderlund, 2003-05-27T13:58Z

Jädrar vilken SQL-sats! Undrar om LarsG orkar sig på den.. Jag går i alla fall bet. :(

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

## #3 — LarsG, 2003-05-27T19:03Z

Nej, det går inte i Mysql. Du behöver stöd för vyer eller att kunna ange en select-sats i from listan.  Det är förmodligen enklast att räkna ut det i applikationen.

Hämta allt data ordnat efter omgång, beräkna plats för varje lag och använd en array för att lagra högsta/lägsta/medel.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/78234-få-fram-placering
