博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL内置函数之排名函数
阅读量:3959 次
发布时间:2019-05-24

本文共 692 字,大约阅读时间需要 2 分钟。

SQL内置函数之排名函数

主要有三个排名函数

row_number
rank()
dense rank()

row_number 对查询结果按某列的值进行排序

具体语法 row_number() over (order by 列名 asc|desc)

例题:按生日从小到大排序,显示学生的姓名,出生日期与排名

select row_number() over (order by birthday desc) as 排名,sname as 学生姓名,birthday as 出生日期
from t_student

该排名函数存在的问题:相同的出生日期有着不同的排名

rank() 列值相同,排名也相同

具体语法 rank() over (order by 列名 asc|desc)

例题:按生日从小到大排序,显示学生的姓名,出生日期与排名

select rank() over (order by birthday desc) as 排名,sname as 学生姓名,birthday as 出生日期
from t_student

该排名函数存在的问题:排名不连续

dense_rank() 列值相同,排名也相同,且输出的排名连续

具体语法 dense_rank() over (order by 列名 asc|desc)

例题:按生日从小到大排序,显示学生的姓名,出生日期与排名

select dense_rank() over (order by birthday desc) as 排名,sname as 学生姓名,birthday as 出生日期
from t_student

转载地址:http://puqzi.baihongyu.com/

你可能感兴趣的文章