everest ultimate edition,粉丝网,汇空包
row_number() over(order by 字段 desc)
例如:row_number() over(order by 学生成绩 desc)
表示不分班级,所有学生的成绩从高到低排序
用法2:分组排序
row_number() over(partition by 字段1 order by 字段2 desc)
表示根据字段1分组,在分组内部根据字段2排序,这个函数计算的值就表示每组内部排序后的顺序编号
例如:row_number() over(partition by 班级 order by 学生成绩 desc)
表示根据“班级”分组,在每个“班级”内部根据“学生成绩”排序,这个函数计算的值就表示每组内部排序后的
顺序编号
解释:
row_number( ) 起到了编号的功能
partition by 将相同数据进行分区
order by 使得数据按一定顺序排序
2、mysql5.7版本
例如:计算销售人员的销售额,结果按从高到低排序,查询结果中要包含销售的排名
set @rank := 0;
select
a.*,
@rank := @rank + 1 as rank
from
( select sales_name, sum( sales ) from spm_order
group by sales_name
order by sum( sales ) desc ) a
例:计算销售人员在不同城市的销售额;
要求:结果根据销售人员在不同城市的销售额进行分组排序(降序),并且查询结果要包含分组排名
set @r := 0,
@type := '';
select
@r :=
case when @type = a.sales_name then
@r + 1 else 1
end as rownum,
@type := a.sales_name as type,
a.*
from
( select sales_name, city, sum( sales ) from spm_order
group by sales_name, city
order by sales_name, sum( sales ) desc ) a;
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新补丁让Windows 10出现死机、卡顿等 微软坐不住称正解决
Ubuntu 20.04 LTS进驻Windows子系统:只能用3年
ThinkPad正式加入:预装Linux发行版而非Win10的PC越来越多了
最新版Android 11推送!谷歌Pixel 5被曝光:支持反向充电
高度致敬Windows!开源优麒麟20.04 LTS发布:支持5年
电脑小知识:Windows 10是用什么语言写的?到底有多少行代码?
Win10 5月更新准正式版:微软引入大量新功能 系统响应速度快
Windows 10新预览版19613推送:修复任务栏图标显示异常BUG
Windows AD 报错解决:UAC File Virtualization服务启动失败 此驱动程序被阻止加载
网友评论