oracle复杂查询是sql
一、over()分析函数
分组查前几条:select * from test t where (select count(*) from test a where t.type=a.type and t.scope>a.scope)<2;
--rank()/dense_rank() over(partition by ...order by ...)
select * from(select t.*,rank() over(partition by t.type order by t.scope ) a from TEST t) a where a.a<3
--dense_rank()分级 连续排序
select t.*,dense_rank() over(partition by t.type order by t.scope)a from test t
--rank()分级 跳跃排序
select t.*,rank() over(partition by t.type order by t.scope)a from test t
select * from Test t where 2>(select count(*) from Test a where t.type=a.type and t.scope>a.scope)
select t.* from Test t,(select a.type,max(a.scope) scope from TEST a group by a.type) d where t.type=d.type and t.scope=d.scope
--笛卡尔乘积
select * from Test t,Test a
select t.* from Test t,(select a.type,max(a.scope) maxscope,min(a.scope) minscope from TEST a group by a.type) d where t.type=d.type and t.scope=d.scope
--
select t.*,d.maxscope-t.scope maxscope,t.scope-d.minscope minscope
from Test t,
(select a.type, max(a.scope) maxscope, min(a.scope) minscope
from TEST a
group by a.type) d
where t.type = d.type
--min()/max() over(partition by ...)
select t.*,
nvl(max(t.scope) over(partition by t.type), 0) - t.scope maxscope,
t.scope - nvl(min(t.scope) over(partition by t.type), 0) minscope
from test t
--lead()/lag() over(partition by ... order by ...)
select t.*,lead(t.scope,1,0)over(partition by t.type order by t.scope) a--同组后一个
from test t
select t.*,lag(t.scope,1,0)over(partition by t.type order by t.scope) a--同组前一个
from test t
select t.*,
first_value(t.scope) over(partition by t.type) first_sal,
last_value(t.scope) over(partition by t.type) last_sal,
sum(t.scope) over(partition by t.type) sum_sal,
avg(t.scope) over(partition by t.type) avg_sal,
count(t.scope) over(partition by t.type) count_num,
row_number() over(partition by t.type order by t.scope) row_num
from test t
--注:带order by子句的方法说明在使用该方法的时候必须要带order by
最新文章
- js对文本框特殊字符串过滤
- MySQL 各种超时参数的含义
- Ubuntu 64位下搭建ADT的种种问题
- C++折半插入排序
- Zabbix页面遇到历史记录的乱码需要修改数据库
- (C#)使用队列(Queue)解决简单的并发问题
- Cocos2d-x——Cocos2d-x 屏幕适配新解【转载】
- spring mvc综合easyui点击上面菜单栏中的菜单项问题
- [HAOI2010]软件安装
- 如何查询oracle数据库中的各种角色
- python中json序列化的东东
- 公钥密钥理解,signed cookie
- [转]使用keepalived搭建主备切换环境
- Linux中一个网卡含有多个IP,将从IP升级为主IP的方法
- lua元表详解
- javascript弹层
- jenkins之配置git认证方式
- php中的XML DOM(11)
- CentOS6安装各种大数据软件 第五章:Kafka集群的配置
- HDU 5707 Combine String(动态规划)