Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann es eine datenbankunabhängige SQL-Abfrage geben, um die obersten N Zeilen abzurufen?

So erhalten Sie die 5 besten Torschützen aus dieser Tabelle:

CREATE TABLE people
             (id      int, 
              name    string, 
              score   int)

versuchen Sie dieses SQL:

SELECT id, 
       name, 
       score
FROM   people  p
WHERE  (SELECT COUNT(*) 
        FROM   people p2
        WHERE  p2.score  > p.score 
       ) <=4 

Ich glaube, das sollte an den meisten Orten funktionieren.