sql >> Databáze >  >> RDS >> Mysql

Pořadí turnajů ve více disciplínách

Funkci hodnocení v MySQL můžete emulovat pomocí vlastního připojení k hodnotám s vyšším skóre ve stejné Event a poté spočítáme počet vyšších skóre pro každého účastníka:

SELECT s1.Name, s1.Event, s1.Score, COUNT(s2.Name)+1 AS Rank
FROM scores s1
LEFT JOIN scores s2 ON s2.Event = s1.Event AND s2.Score > s1.Score
WHERE s1.Name = 'Bob'
GROUP BY s1.Name, s1.Event, s1.Score
ORDER BY s1.Name, s1.Event

Výstup:

Name    Event   Score   Rank
Bob     1       100     1
Bob     2       75      3
Bob     3       80      2

Ukázka na dbfiddle




  1. Jak odstraním duplicitní řádky v databázi MySQL? (Ponechte si to s nejnižším primárním ID)

  2. Migrace databáze MySQL z Amazon RDS do DigitalOcean

  3. Aktualizace tabulky MySQL na základě jiné hodnoty tabulky

  4. zobrazit vlastní text SQL z výsledku sloupce tabulky