oracle在查询结果加一条记录,Oracle学习之一: 把 SELECT 查询结果插入一个表中

今天写的一个语句如下:

INSERT INTO OAS.DAILY_MIGUSER

(IMPDATE,bigareaid,PROVINCEID,CITYID,NEWUSER,TOTALUSER,NEWACTIVEUSER,TOTALACTIVEUSER,OFFUSER,TOTALOFFUSER)

select trunc(sysdate),0 bigareaid,b.provinceid, a.cityid,

sum(case when to_date('2008-08-22', 'yyyy-mm-dd')=effectivedate then 1 else 0 end) newuser,

count(*) totaluser,

sum(case when to_date('2008-08-22', 'yyyy-mm-dd')=effectivedate then 1 else 0 end) newactiveuser,

sum(case when activedate = null then 1 else 0 end) totalactiveuser,

sum(case when to_date('2008-08-02', 'yyyy-mm-dd')=trunc(expirationdate)  then 1 else 0 end) newoffuser,

sum(case when expirationdate=null  then 0 else 1 end) totaloffuser

from miguser_baseinfo a, (select distinct cityid,provinceid from city) b

where a.cityid=b.cityid

group by b.provinceid,a.cityid

在一个查询语句中记录各种不同情况的出现次数可以用 case when expresion... then ... else ... end. 这种语句肯写是比挨个 select count(*) from ... where expresion... 的方式要方便得多.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值