sql 精读(三) 标准 SQL 中的编号函数示例
2023-09-14 09:09:30 时间
编号函数概念
编号函数会根据每一行在指定窗口中的位置向该行分配整数值。
RANK()、DENSE_RANK() 和 ROW_NUMBER() 示例:
WITH Numbers AS
(SELECT 1 as x
UNION ALL SELECT 2
UNION ALL SELECT 2
UNION ALL SELECT 5
UNION ALL SELECT 8
UNION ALL SELECT 10
UNION ALL SELECT 10
)
SELECT x,
RANK() OVER (ORDER BY x ASC) AS rank,
DENSE_RANK() OVER (ORDER BY x ASC) AS dense_rank,
ROW_NUMBER() OVER (ORDER BY x) AS row_num
FROM Numbers
x | rank | dense_rank | row_num |
---|---|---|---|
1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 |
2 | 2 | 2 | 3 |
5 | 4 | 3 | 4 |
8 | 5 | 4 | 5 |
10 | 6 | 5 | 6 |
10 | 6 | 5 | 7 |
-
List item
-
RANK():x=5 时,rank 返回 4,因为 RANK() 按前一个窗口排序组中对等项的数量递增。
-
DENSE_RANK():对于 x=5,dense_rank 返回 3,因为 DENSE_RANK() 总是递增 1,绝不跳过值。
-
ROW_NUMBER():x=5 时,row_num 返回 4。
相关文章
- 深度学习Keras框架笔记之Dense类(标准的一维全连接层)
- 第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击
- 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置
- 阿里云开源业内首个应用多活项目 AppActive,与社区共建云原生容灾标准
- 阿里规范 - 五、MySQL 数据库 - (三)SQL语句 - 1 - 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。
- 谈谈SQL标准
- 阿里规范 - 五、MySQL 数据库 - (三)SQL语句 - 1 - 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。
- java8 LocalDate 判断一年中的标准周末和工作日
- 找不到在标准的SAP C4C system字段里新增entry的办法
- CRM WebClient UI里标准configuration和custom configuration区别
- Atitit.5gl 第五代语言编程语言 PROLOG教程 人工智能语言的标准 与实现
- 如何使用 SEGW 的 redefine 功能对 SAP 标准 OData 服务进行扩展试读版
- NLP:自然语言处理技术的简介、领域方向-细分任务及其评估标准、发展历史、案例应用之详细攻略
- 单元测试中构建标准检测程序(CPULinux性能内存泄漏等)
- 2021健康证体检项目标准
- 阿里云标准-Mysql安全基线检查
- LSGANs : Least Squares GAN(最小二乘GAN)--解决标准GAN生成的图片质量不高以及训练过程不稳定问题