SQL OVER用法
- sql over的作用及用法
- RANK ( ) OVER ( [query_partition_clause] order_by_clause )
- DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
- 可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,
- 其中PARTITION BY 为分组字段,ORDERBY 指定排序字段
- over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。
- 其参数:over(partition by columnname1 orderby columnname2)
- 含义:按columname1指定的字段进行分组排序,或者说按字段columnname1的值进行分组排序。
- 例如:employees表中,有两个部门的记录:department_id =10和20
- select department_id,rank() over(partition by department_id orderby salary) from employees就是指在部门10中进行薪水的排名,在部门20中进行薪水排名。如果是partition by org_id,则是在整个公司内进行排名。
sql over的作用及用法
RANK ( ) OVER ( [query_partition_clause] order_by_clause )
DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,
其中PARTITION BY 为分组字段,ORDER BY 指定排序字段over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。
其参数:over(partition by columnname1 order by columnname2)
含义:按columname1指定的字段进行分组排序,或者说按字段columnname1的值进行分组排序。
例如:employees表中,有两个部门的记录:department_id =10和20
select department_id,rank() over(partition by department_id order by salary) from employees就是指在部门10中进行薪水的排名,在部门20中进行薪水排名。如果是partition by org_id,则是在整个公司内进行排名。
--------------------------------------------------------------------------------------------
以上为示例1
- Select ID, Position + datediff(day, PDate, getdate()) as Position,PDate, Row_Number() over(orderby Position) as Sort
- From OverTest
Select ID, Position + datediff(day, PDate, getdate()) as Position,PDate, Row_Number() over(order by Position) as Sort
From OverTest
--------------------------------------------------------------------------------------------
以上为示例2
- sql = "SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY table1.BookingBranch, table1.RefNo) AS RowId, * From ("
- + sql.toString() + ") as Table1) as Table2 WHERE Table2.RowId BETWEEN " + startRow + " AND " + endRow;
sql = "SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY table1.BookingBranch, table1.RefNo) AS RowId, * From ("+ sql.toString() + ") as Table1) as Table2 WHERE Table2.RowId BETWEEN " + startRow + " AND " + endRow;
--------------------------------------------------------------------------------------------
以上为示例3
SQL OVER用法相关推荐
- 8 种常见的SQL错误用法
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | db匠 来源 | http://yq.aliy ...
- 你知道这 8 种 SQL 错误用法吗?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6d.cn/J2bw 简介 MySQL在2016年仍然保持强劲的数 ...
- 数据库优化:8 种常见的SQL错误用法
作者 | db匠 来源 | http://yq.aliyun.com/articles/72501 前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势.越来越多的客户将自己的应用建立在My ...
- 盘点 8 种最坑的 SQL 错误用法
今天为大家搜集了几类SQL错误用法,纯纯纯纯干货,来了! 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 typ ...
- SQL常用用法相关笔记
SQL常用用法相关笔记 1).----CAST和CONVERT的用法 SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式. CAST和CONVERT提供相似的 ...
- MySQL 性能优化:8 种常见 SQL 错误用法!
声明:转载自 MySQL 性能优化:8 种常见 SQL 错误用法! 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是 ...
- sql语句用法的一部分整理
@sql语句用法 一 回顾 DDL create alter drop [truncate==delete] 2. DML select insert update delete 3. DCL gra ...
- 数据库 SQL 高级用法
目录 一.INSERT INTO SELECT 用法 二.逻辑控制语句 三.公式表表达式 四.存储程序 五.触发器 一.INSERT INTO SELECT 用法 INSERT INTO SELECT ...
- Oracle数据库中SQL语句用法(一)
Copyright © 2019 @Linyer. All Rights Reserved 下接Oracle数据库中SQL语句用法(二)[点击以查看] 目录 第1章:编写基本的SQL SELECT语句 ...
- php union用法,SQL Union用法是什么?
sql union用法是什么? sql union用法的总结: UNION 运算符将多个 SELECT 语句的结果组合成一个结果集. (1)使用 UNION 须满足以下条件: A:所有查询中必须具有相 ...
最新文章
- Pandas把dataframe的索引、复合索引变换为数据列:包含单索引到单列(重命名)、复合索引到多数据列、复合索引的其中一个水平变换为数据列、
- 单例设计模式singleton
- snowflake算法 php,PHP实现Snowflake生成分布式唯一ID的方法示例
- uwsgi php,详解uWSGI的编码问题解决方法
- 信息系统项目管理知识--项目质量管理
- MPU6050开发 -- 卡尔曼滤波
- C++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast
- 23种设计模式之原型模式代码实例
- java 字段名重复,java – JSON响应中的重复字段
- python去重排序_python读取TXT到数组及列表去重后按原来顺序排序的方法
- SoC设计与验证——大型IP——PCIE控制器
- 【图像处理】python实现对图像进行二值化处理
- 通讯网关 api网关_伟大的api网关迁移
- 第十一届蓝桥杯b组(10月真题)
- 重力勘探正演模拟matlab,裴雪林, 郭万松 (1995) 高精度重力勘探技术在国内外的应用. 断块油田, 5, 8-11....
- Linux初探之如何查看帮助文档自学命令
- 自言自语(二)--英文无衬线体和有衬线体
- echarts地图 自定义区域
- 记录每天学习的新知识:Composing builds
- vmware加速方法总结
热门文章
- C++实现0-1-knapsack背包问题 (附完整源码)
- C语言实现Dijkstra(迪杰斯特拉)算法(附完整源码)
- C语言数组的深入理解
- C语言指针和数组的天生姻缘
- linux重新加载php.ini,linux修改php.ini后重新加载配置文件命令
- Flink流计算编程--在WindowedStream中体会EventTime与ProcessingTime
- 第29天:控制进度,控制进度知识点,敏捷中控制进度知识点
- 3.QT中的debug相关的函数,以及文件锁的使用
- 实例3:按部门统计工资人数
- Python面向对象案例汇总