各班級學生成績測試表 select * from TMP_A;
實現目的: 按照班級分類后按照分數倒序排序
采用MySQL變量簡單實現,SQL如下:
SELECT a.stu_id,a.point,
IF( @className = a.class_name,@rank := @rank + 1,@rank :=1 ) AS rank,
(@className := a.class_name) class_name
FROM TMP_A a, ( select @rank :=0,@className := NULL ) b
ORDER BY a.class_name, a.point DESC ;
最終展示結果如下: