关于rank、dense_rank、ROW_NUMBER及OVER(PARTITION BY)、OVER(ORDER BY)的一些用法
CREATE TABLE t_harry (
id int NOT NULL,
Number varchar(255) DEFAULT NULL,
ChannelID varchar(255) DEFAULT NULL,
TimeStamp datetime DEFAULT NULL,
PRIMARY KEY (id)
) ;
INSERT INTO t_harry VALUES ('', 'Group3', '', '2015-05-27 00:00:00');
INSERT INTO t_harry VALUES ('', 'Group2', '', '2015-05-23 00:00:00');
INSERT INTO t_harry VALUES ('', 'Group1', '', '2015-05-23 00:00:00');
INSERT INTO t_harry VALUES ('', 'Group2', '', '2015-05-29 00:00:00');
INSERT INTO t_harry VALUES ('', 'Group1', '', '2015-05-30 00:00:00'); SELECT B.* FROM t_harry B
LEFT JOIN
(
SELECT Number,max(ChannelID) [MaxID] FROM t_harry GROUP BY Number
) A ON B.Number=A.Number
ORDER BY A.MaxID DESC , B.ChannelID DESC SELECT rank() OVER(ORDER BY TimeStamp) [Rank],
dense_rank() OVER(ORDER BY TimeStamp) [dense_rank],
ROW_NUMBER() OVER(ORDER BY TimeStamp) [Row_Number],
ROW_NUMBER() OVER(PARTITION BY Number ORDER BY TimeStamp) [Row_Number],
* FROM t_harry
ORDER BY max(Channelid) OVER (PARTITION BY Number) DESC, channelid DESC DROP TABLE t_harry
关于rank、dense_rank、ROW_NUMBER及OVER(PARTITION BY)、OVER(ORDER BY)的一些用法的更多相关文章
- [转]oracle分析函数Rank, Dense_rank, row_number
oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number) 目录 ==================== ...
- Oracle分析函数 — rank, dense_rank, row_number用法
本文通过例子演示了Oracle分析函数 —— rank, dense_rank, row_number的用法. //首先建score表 create table score( course nva ...
- Oracle 的开窗函数 rank,dense_rank,row_number
1.开窗函数和分组函数的区别 分组函数是指按照某列或者某些列分组后进行某种计算,比如计数,求和等聚合函数进行计算. 开窗函数是指基于某列或某些列让数据有序,数据行数和原始数据数相同,依然能曾现个体数据 ...
- rank,dense_rank,row_number使用和区别
rank,dense_rank,row_number区别 一:语法(用法): rank() over([partition by col1] order by col2) dense ...
- 【DB2】DB2中rank(),dense_rank(),row_number()的用法
1.准备测试数据 DROP TABLE oliver_1; ),SUB_NO ),SCORE int); ,,); ,,); ,,); ,,); ,,); ,,); 2.详解rank(),dense_ ...
- oracle分析函数Rank, Dense_rank, row_number
http://www.cnblogs.com/wuyisky/archive/2010/02/24/oracle_rank.html 目录=============================== ...
- rank() | dense_rank() | row_number() over(PARTITION BY sex order by age desc ) 的区别
1.row_num() over()函数:根据某个字段排序后编号1,2,3.. select *,ROW_NUMBER() over ( order by majorid) as numfrom St ...
- oracle sql rank dense_rank row_number fisrt last
測試表emp
- [z]一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
转自:http://blog.csdn.net/s630730701/article/details/51902762 在SCOTT用户下,执行下面SQL; SELECT s.deptno,s.ena ...
- oracle的row_number() OVER (ORDER BY COL2 asc)和row_number() OVER (PARTITION BY COL1 ORDER BY COL2)的用法
转自:https://jingyan.baidu.com/article/9989c74604a644f648ecfef3.html SELECT ROW_NUMBER() OVER(PARTITIO ...
随机推荐
- SQL Server 2008中的数据压缩
SQL Server 2008中引入了数据压缩的功能,允许在表.索引和分区中执行数据压缩.这样不仅可以大大节省磁盘的占用空间,还允许将更多数据页装入内存中,从而降低磁 盘IO,提升查询的性能.当然,凡 ...
- mysql中的模糊查询
转载自:http://www.letuknowit.com/archives/90/ MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或 ...
- Sql Server 2008和2000查询表的字段和注释
-- SQL Server 2008 SELECT 表名 = d.name, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' ...
- Erlang 参考资料
Erlang 官方文档 Distributed Erlang Erlang 教程中文版 %设定模块名 -module(tut17). %导出相关函数 -export([start_ping/1, st ...
- Model View Controller
On the iPhone or iPod touch, a modal view controller takes over the entire screen. This is the defau ...
- c#扩展出MapReduce方法
MapReduce方法主体: public static IDictionary<TKey, TResult> MapReduce<TInput, TKey, TValue, TRe ...
- 如何查看屏幕touch driver是否在正常工作
1. adb shell cat proc/bus/input/devices查看touch对应的是哪个event,如是event3: 2. adb shell getevent dev/input/ ...
- c++学习--面向对象一
类与对象一 一 注意的点 1 利用构造函数给数据成员初始化的两种办法:1 赋值语句,2 用成员初始化列表 解释:1 成员初始化列表的一般形式为: 数据成员名1(初始值1),数据成员名2(初始值2) 2 ...
- vs快捷键汇总
1.相关查找快捷键 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个 Ctrl+H: 替换 Ctrl+Shift+H: 在文件中替换 ...
- 关于python中文件导入的若干问题
__init__文件 同一级目录下直接import导入就可以了,如果是在不同的目录下面被导入文件的文件夹下面必须有__init__.py文件,即使这个文件是空的也可以.当然这个文件也可以初始一些数据 ...