oracle 横列减法,oracle sql小结(主要讲横列转换的例子)group by以及wmsys.wm_concat()的使用...

---计算九月每个电厂的数量

select f_dcname,count(f_dcname) as 九月份的数量 from W_EC_PLACESTATION_COLLECT t

where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1

group by f_dcname

57de438afc9a59b15dbee368c72d184a.png

----计算九月份每个电厂对应的每个日期(左链接)

select a.f_dcname,a.f_collectdate from W_EC_PLACESTATION_COLLECT a

left join W_EC_PLACESTATION_COLLECT b on a.f_dcname = b.f_dcname and a.f_collectdate= b.f_collectdate

where a.f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND a.f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1

and a.f_dcname like '%光伏%'

order by a.f_dcname,a.f_collectdate

f99f055e5b30231c18fc9c8416458704.png

----计算九月份每个日期对应的每个电厂(group by两个字段)

select f_collectdate ,f_dcname from W_EC_PLACESTATION_COLLECT t

where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1

and f_dcname like '%光伏%'

group by f_collectdate ,f_dcname order by f_collectdate

fced1b95dc79c92f8a9e9d4a496df4e1.png

--合并电厂的日期(行列转换)

select f_dcname ,wmsys.wm_concat(to_char(f_collectdate,'dd')) from W_EC_PLACESTATION_COLLECT t

where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1

group by f_dcname

3ae56ca3d2d88072ccb92b6c6cdde530.png

--合并电厂的日期(行列转换)并让合并的日期进行排序

select f_dcname ,max(r)

from (

select f_dcname , wmsys.wm_concat(to_char(f_collectdate,'dd'))

over(partition by f_dcname order by f_collectdate ) r

from W_EC_PLACESTATION_COLLECT t

where f_collectdate >= TRUNC(TO_DATE('2018-09-01','yyyy-MM-dd'),'month') AND f_collectdate < TO_DATE('2018-09-30','yyyy-MM-dd')+1

)

group by f_dcname

d82d1cc6978dba00ccd4869257963a52.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值