sql >> Database >  >> RDS >> Mysql

Het record met maximale waarde vinden in SQL

WITH ClassScores AS
(
    SELECT 1 AS class, 'Anna' AS name, 34 AS score 
    UNION
    SELECT 1, 'Andy', 80  
    UNION
    SELECT 2, 'Brooke', 90  
    UNION
    SELECT 2, 'Brad', 70  
    UNION
    SELECT 3, 'Charles', 67  
    UNION
    SELECT 3, 'Christina', 66 
)

SELECT C1.Class, C1.Name, C1.Score
  FROM ClassScores AS C1
  JOIN (SELECT Class, MAX(Score) AS MaxScore
          FROM ClassScores
         GROUP BY Class
       ) AS C2
    ON C1.Class = C2.Class
   AND C1.Score = C2.MaxScore
 ORDER BY C1.Class;


  1. Is het ooit een goed idee om een ​​array op te slaan als een veldwaarde of om arraywaarden als records op te slaan?

  2. 2 manieren om te zien of verouderde functies nog steeds worden gebruikt in een SQL Server-instantie

  3. MySQL/MariaDB:maak een draaitabelweergave

  4. SQL Server-prestaties:testen in de cloud