oracle中sql汇总查询

jiangbo578 发布于 2016/02/02 18:01
阅读 322
收藏 0
怎么通过一条sql查询出如下表中的所有记录数和交易成功记录数,其中status是交易状态(交易状态 [0:未付款;1:交易关闭;2:已付款;3:交易完成(含退款);4:交易成功;5:交易失败(担保交易)]6.支付中), 表结构如下:


加载中
0
pleatu
pleatu

select count(0),count(case when status=4 then 1 end) from 

or

select sum(1),sum(case when status=4 then 1 else 0 end) from 

j
jiangbo578
@jiangbo578 还是这张表,怎么查询上一个月每一天的交易量啊?按照交易创建时间:create_date
j
jiangbo578
谢谢,膜拜大神!
1
pleatu
pleatu

select 

to_date(to_char(create_date,'yyyy-mm-dd'),'yyyy-mm-dd') as create_date,

count(0),

count(case when status=4 then 1 end) 

from  table 

where create_date>=date'2016-01-01' and create_date<date'2016-02-01'

group by to_date(to_char(create_date,'yyyy-mm-dd'),'yyyy-mm-dd')

order by to_date(to_char(create_date,'yyyy-mm-dd'),'yyyy-mm-dd')

j
jiangbo578
回复 @pleatu : 好的, 几十万吧, 日后会更大。谢谢啊!
pleatu
pleatu
@jiangbo578 多大数据量啊,影响不大,速度可接受就行
j
jiangbo578
这条sql可以是否有更好的优化方案吗? 网上说在用group by时使用函数会影响性能?
返回顶部
顶部