sql >> Databasteknik >  >> RDS >> Mysql

SQL välj den n:e medlemmen i gruppen

SELECT a.class,
(
    SELECT b.age 
    FROM users b 
    WHERE b.class = a.class
    ORDER BY age 
    LIMIT 1,1
) as age
FROM users a
GROUP BY a.class

Skulle få den 2:a yngsta i varje klass. Om du ville ha den 10:e yngsta skulle du göra LIMIT 9,1 och om du ville ha den 10:e äldsta, skulle du göra ORDER BY age DESC .



  1. Hur man får antalet rader som påverkas av ett uttalande när det är inuti det påståendets utlösare

  2. Formatera nummer till förkortat nummer

  3. Vilken sammanställning ska användas så att "ş" och "s" behandlas som unika värden?

  4. Skapa PostgreSQL-databas i farten med Hibernate även om DB inte finns