在编写报表过程中,常常要对结果集分组操作,得到一些业务层需要的统计数据。这时候,rownum就能大显身手。
首先,我们可以对分组进行分别编号,如下:
select t.dept_email,
t.dept_name,
t.create_date,
row_number() over(partition by t.dept_email order by t.dept_name) rn
from DEPTS t
where 1 = 1
group by t.dept_email, t.dept_name, t.create_date
having t.create_date <= to_date(\uD93E\uDF48/01/01', 'yyyy/mm/dd')
order by t.dept_email
这
条查询的功能是: 从 部门
表中以部门email,部门名称,部门创建日期为条件分组。并为以email为条件的分组按部门名称排序,并按顺序添加编号row_number
。所得的结果集再根据having子句里的条件过滤,把所有创建时间小于2012年1月1日的结果找出来。
为结果集分组编号以后,就可以根据编号进一步处理数据
转载自:http://abandontofree.i.sohu.com/blog/view/204476228.htm
分享到:
相关推荐
Oracle学习笔记(rownum和rowid),有具体的代码案例讲解rownum和rowid
oracle 分页查询 使用ROWNUM技巧及陷阱
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<、、!=),并非说用>,>=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来...
oracle rownum和distinct
Oracle中rownum的使用
ORACLE 中ROWNUM用法总结 整理版本,详细明了
注意:对 rownum(伪列) 只能使用 < 或 <=, 而用 =, >, >= 都将不能返回任何数据 例:查询工资前20名的员工姓名,工资 ,工资由高到低 Select rownum,first_name,salary from (Select first_name, salary ...
内涵oracle rownum的详细讲解。
关于oracle的rownum关于oracle的rownum关于oracle的rownum关于oracle的rownum关于oracle的rownum
举例介绍在oracle中rownum和rowId的不同以及使用方法
oracle 的rownum和咱们平时用的sqlserver的区别,其中好多的不一样!
oracle rownum
要在pg中实现rownum我们得先弄清楚oracle中的rownum有什么作用,是如何使用的。 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于...
目前,大多数应用程序使用的是Oracle数据库,而用户或多或少的使用了Oracle的一些特殊功能,而这些特殊功能在其他数据库中都未实现。为了方便用户的移植,DM实现了很多Oracle独特的功能和语法,很多Oracle的应用可以...
oracle rownum 使用小技巧 里面包含分页
Oracle中ROWNUM的使用技巧 ROWNUM是一种伪列,它会根据返回记录生成一个序列化的数字。利用ROWNUM,我们可以生产一些原先难以实现的结果输出
详细解析了oracle的rownum,举例说明rownum的使用方法和技巧及要注意的地方。研究在想要查找前N个数据时,如何高效地使用rownum。
oracle中rownum的用法及解说,主要说明了rownum的用法,让人看了很清楚.
sql语句中select top n与oracle的rownum与mysql的limit 取前几条数据sql简单用法
oracle_SQL中rowid与rownum的使用