你的位置:首页 > 数据库

[数据库]Oracle用法、函数备忘记录


Listagg

select * from emp

select LISTAGG(ename,'-') within group (order by deptno desc) from emp;

可以看到功能类似wm_concat,可以自定义连接符,区别:

LISTAGG  : 11g2才提供的函数,不支持distinct,拼接长度不能大于4000,函数返回为varchar2类型,最大长度为4000.

和wm_concat相比,listagg可以执行排序。例如
select deptno, listagg(ename,';') within group(order by ename) enames from emp group by deptno;

with table as

 SQL Code 

1
2
3
4
5
6
7
8
9
10
11
12
13

 

with temp as(
  select 500 population, 'China' nation ,'Guangzhou' city from dual union all
  select 1500 population, 'China' nation ,'Shanghai' city from dual union all
  select 500 population, 'China' nation ,'Beijing' city from dual union all
  select 1000 population, 'USA' nation ,'New York' city from dual union all
  select 500 population, 'USA' nation ,'Bostom' city from dual union all
  select 500 population, 'Japan' nation ,'Tokyo' city from dual 
)
select population,
       nation,
       city,
       listagg(city,',') within GROUP (order by city) over (partition by nation) rank
from temp


With table as 类似创建一个临时表,只可以查询一次,之后就被销毁,同时可以创建多个临时table,比如:

with sql1 as

(select to_char(a) s_name from test_tempa),

sql2 as

(select to_char(b) s_name

from test_tempb

where not exists (select s_name from sql1 where rownum = 1))

select *

from sql1

union all

select *

from sql2

pivot unpivot

行列转换,见

Oracle行转列、列转行的Sql语句总结




去浙江旅游要多少钱去浙江旅游最佳路线去浙江旅游最佳时间浙江旅游线路报价浙江旅游攻略大全坐看舒云卷 偷得浮生半日闲 2015清明节清远去哪里看杜鹃花?清远清明节哪里杜鹃花好看? 清远金子山杜鹃花好看吗?金子山杜鹃花盛花期? 金子山杜鹃花最佳观赏期?连山金子山杜鹃花什么时候最好看? 过年玩锦里沟特色项目 2015春节湟川三峡桃花开了吗?连州湟川三峡桃花盛花期是几月份? 2015春节森波拉酒店住宿免费泡温泉吗?森波拉温泉春节篝火晚会有什么表演? 过年到锦里沟品土家民俗 长隆水上乐园2015年10月份什么时候闭园?广州长隆水上乐园闭园时间? 最强洗肺地哪里找 首选浪漫之都大连 花都香草世界有导游证免费吗?广州花都香草世界门票优惠政策? 花都香草世界门票团购多少钱?广州花都香草世界团体票怎么买? 香港哪里买婴儿用品比较好? 在香港怎么打电话比较划算? 去香港买ipad怎么过关比较好? 哪里可以办香港购物打折卡VIP CARD? AQ12EA3R6CAJME\500 Datasheet AQ12EA3R6CAJME\500 Datasheet 08055C681KAT2M Datasheet 08055C681KAT2M Datasheet AQ12EA3R9BAJME Datasheet AQ12EA3R9BAJME Datasheet 四平参团去香港 四平参团去香港 四平参团去香港 牡丹江去香港迪士尼旅游 牡丹江去香港迪士尼旅游 牡丹江去香港迪士尼旅游 阳泉市去香港旅游 阳泉市去香港旅游 阳泉市去香港旅游