• 考试中心
  • CDA网校
  • CDA社区
    CDA竞赛 CDA技术答疑 CDA会员
  • CDA产品
    大数据与人工智能实验室 好学AI(下一代智能学习产品) CDA网校 CAIE人工智能工程师认证
  • 联系我们
热线电话:13121318867

  • 首页
  • 课程中心
    就业邦:
    CDA数据分析周末就业班2025 CDA数据分析脱产就业班2025 CDA敏捷算法建模周末班
    职业技能:
    CDA 业务数据分析 LEVEL Ⅰ 实操班 CDA 商业策略分析 LEVEL Ⅱ 集训营 CDA 机器学习与深度学习 LEVEL Ⅲ 集训营
  • 资讯
  • 动态
  • 认证考试
  • 企业内训
登录
热搜话题:
ai长文生成
Scikit-learn
Python
大数据
数据分析师
统计学
微积分
线性代数
Excel
Power BI
R语言
SPSS
Mysql
快速发帖
我要提问
CDA持证人阿涛哥
2023-10-21 阅读量: 565
mysql 中开窗函数 排名的几种方式

1.使用ORDER BY子句:可以在开窗函数中使用ORDER BY子句对结果进行排序。排名从1开始递增。

2.使用RANK()函数:RANK()函数会为相同值的数据生成相同的排名,并跳过下一个排名。

3.使用DENSE_RANK()函数:DENSE_RANK()函数会为相同值的数据生成相同的排名,并不跳过下一个排名。

在具体示例中,假设我们有以下数据表employees:

+----+------+--------+

| id | name | salary |

+----+------+--------+

| 1 | John | 3000 |

| 2 | Jane | 4000 |

| 3 | Mary | 3500 |

| 4 | Mark | 4000 |

+----+------+--------+

1. 使用ROW_NUMBER()函数的排名示例:

SELECT id, name, salary, ROW_NUMBER() OVER (ORDER BY salary) AS rank

FROM employees;

结果:

+----+------+--------+------+

| id | name | salary | rank |

+----+------+--------+------+

| 1 | John | 3000 | 1 |

| 3 | Mary | 3500 | 2 |

| 2 | Jane | 4000 | 3 |

| 4 | Mark | 4000 | 4 |

+----+------+--------+------+

2. 使用RANK()函数的排名示例:

SELECT id, name, salary, RANK() OVER (ORDER BY salary) AS rank

FROM employees;

结果:

+----+------+--------+------+

| id | name | salary | rank |

+----+------+--------+------+

| 1 | John | 3000 | 1 |

| 3 | Mary | 3500 | 2 |

| 2 | Jane | 4000 | 3 |

| 4 | Mark | 4000 | 3 |

+----+------+--------+------+

3. 使用DENSE_RANK()函数的排名示例:

SELECT id, name, salary, DENSE_RANK() OVER (ORDER BY salary) AS rank

FROM employees;

结果:

+----+------+--------+------+

| id | name | salary | rank |

+----+------+--------+------+

| 1 | John | 3000 | 1 |

| 3 | Mary | 3500 | 2 |

| 2 | Jane | 4000 | 3 |

| 4 | Mark | 4000 | 3 |

+----+------+--------+------+

根据以上示例,可以看出:

- ROW_NUMBER()函数会为每一行数据生成一个唯一的排名。

- RANK()函数会为相同值的数据生成相同的排名,并跳过下一个排名。

- DENSE_RANK()函数会为相同值的数据生成相同的排名,并不跳过下一个排名。

0.0000
0
0
关注作者
收藏
评论(0)

发表评论

暂无数据
CDA考试动态
考试介绍
考试大纲
考试内容
考试地点
CDA报考指南
报考流程
考试时间
报名费用
联系我们
热门栏目
考试动态
报考指南
复习备考
职业发展
直播公开课
经验分享
推荐帖子
CDA持证人阿涛哥
2023-10-21
0条评论
mysql 中开窗函数 排名的几种方式
1.使用ORDER BY子句:可以在开窗函数中使用ORDER BY子句对结果进行排序。排名从1开始递增。2.使用RANK()函数:RANK()函数会为相同值的数据生成相同的排名,并跳过下一个排名。3.使用DENSE_RANK()函数:DENSE_RANK()函数会为相同值的数据生成相同的排名,并不跳过下一个排名。在具体示例中,假设我们有以下数据表employees:+----+------+---
Copyright © 2015-2020, www.pinggu.com All Rights Reserved. CDA数据分析师(北京国富如荷网络科技有限公司) 版权所有 京ICP备18052299号-1