Oracle分组查询5——实例

1、建表 造数据:

create table t(
order_date date,
order_no number,
order_book varchar2(10),
order_fee number,
order_num number

);


insert into t select date '2010-5-1'+level,trunc(dbms_random.value*1000),
'book1',100*level,level from dual connect by level<5;
insert into t select date '2010-6-1'+level,trunc(dbms_random.value*1000),
'book2',200*level,level from dual connect by level<5;
commit;

2、查询

     select decode(grouping_id(order_date,order_no,order_book),6,order_book||'小计',7,'合计',
     to_char(order_date,'yyy-mm-dd')) order_date1,order_no,
     decode(grouping_id(order_date,order_no,order_book),6,null,order_book) order_book1,
     sum(order_fee) order_free,sum(order_num) order_num
     from t
     group by rollup(order_book,(order_date,order_no))
     order by order_book,order_date;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值