一、对查询结果进行排序(ORDER BY)
1.ORDED BY 子句
使用SELECT抽取数据时,数据的显示是无序的,想要得到有序的数据,那么我们就需要使用ORDER BY子句进行排序。
2.ORDED BY 子句语法:
SELECT ,,,......
FROM
ORDER BY ,,.....
ORDED BY 子句(商品的销售单价升序排列)
其中desc表示降序,asc表示升序排列。
二、rank,dense_rank,row_number 使用上的区别
RANK:跳跃排序
DENSE_RANK:连续排序
row_number:没有重复值的排序[记录相等也是不重复的]可以进行分页使用。
MySQL中不存在类似于SQL Server或Orcal中的以上三个函数来得到排名。
而在实际的工作中,常常需要将查询后排序得到的排名给记录下来。由于项目需要,不仅要对成绩进行排名,而且需要相同成绩的具有相同的排名。这里先来介绍用变量赋值的方法来实现排序。这里取经典面试题里的排序问题来讲解。请看下面三种排序类型
1.按各科成绩进行排序,并显示排名, Score 重复时保留名次空缺
2.按各科成绩进行排序,并显示排名, Score 重复时合并名次
我们来看看怎么解答:
分数表
1)按各科成绩