sql >> Database teknologi >  >> RDS >> Mysql

Få gennemsnittet af de 10 bedste elever fra hver skole

Brug af denne teknik .

select sch_code,
       schabbrev,
       ROUND( AVG( totpct_stu ), 1 ) AS top10
from   (select sch_code,
               schabbrev,
               totpct_stu,
               @num := if(@group = sch_code, @num + 1, 1) as row_number,
               @group := sch_code as dummy
        from   test_table
        order by sch_code, totpct_stu desc) as x
where  row_number <= 10
GROUP BY sch_code,
       schabbrev



  1. EM12c Database Tid brugt på at vente på advarsler

  2. flake8 klager over boolesk sammenligning ==i filterklausul

  3. Brug af PHPExcel til at lave automatisk genererede excel-filer

  4. mysql fejl 'TYPE=MyISAM'