/【知识点1】时间格式转化/
select 学号 ,timestampdiff(month ,出生日期 ,now())/12 from student ;
2.**涉及到排名问题可使用窗口口函数rank, dense_rank, row_number **
select *,
rank() over (order by 成绩 desc) as ranking,
dense_rank() over (order by 成绩 desc) as dese_rank,
row_number() over (order by 成绩 desc) as row_num
from 班级;
- 效果图
-
- 对某一列中的不同组数据进行排序
SELECT `课程号`,`成绩`,ROW_NUMBER() over ( PARTITION BY `课程号` ORDER BY `成绩` ) FROM score
效果图
PARTITION BY 后面是 分组列
ORDER BY 后面是排名列
查询的执行顺序
From->where->group by->having->select->order by