sql >> Databasteknik >  >> RDS >> Oracle

Topp n procent topp n%

Du kan prova detta:

WITH     got_analytics     AS
(
     SELECT     ssn, gpa
     ,     ROW_NUMBER () OVER (ORDER BY  gpa  DESC)     AS r_num
     ,     COUNT (*)     OVER ()                                AS n_rows 
     FROM  student_gpa   
)
SELECT       ssn, gpa
FROM       got_analytics 
WHERE       r_num     <= ROUND (n_rows * 12/*insert here your n%*/ / 100)
ORDER BY  gpa     DESC           


  1. Postgres-begränsning för unikt datumintervall

  2. Tabellvärderad Parameter Ekvivalent i Postgresql

  3. Skillnaden mellan SET autocommit=1 och START TRANSACTION i mysql (har jag missat något?)

  4. Handledning för SQL-transaktioner