sql >> Database >  >> RDS >> Mysql

De beste score per speler selecteren

Voor elke value , kunt u het groepsgewijs maximum verkrijgen :

SELECT * FROM Scores NATURAL JOIN (
  SELECT player_id, value1, value2, MAX(value3) value3 FROM Scores NATURAL JOIN (
  SELECT player_id, value1, MAX(value2) value2         FROM Scores NATURAL JOIN (
  SELECT player_id, MAX(value1) value1                 FROM Scores
    GROUP BY player_id) t
    GROUP BY player_id) t
    GROUP BY player_id) t
ORDER BY value1 DESC, value2 DESC, value3 DESC

Bekijk het op sqlfiddle .



  1. Een speciaal teken toevoegen in Oracle SQL wanneer een exacte overeenkomst in de kolom wordt gevonden

  2. Trage prestaties in gekoppelde serverquery

  3. Oracle outer join werkt niet zoals verwacht

  4. Een bedrijfsgegevensmodel voor abonnementen