异常的邮件概率 分组条件计数count(case when)

异常的邮件概率

https://www.nowcoder.com/practice/d6dd656483b545159d3aa89b4c26004e

/*with not_blacklist as(
    select * from email
    where send_id not in (select id from user where is_blacklist=1)
    and receive_id not in (select id from user where is_blacklist=1) 
),
with countby_date as(
    select date,
    count(case when type='no_completed' then 1 else null end) no_com_cnt,
    count(id) date_cnt
from not_blacklist
group by date
)  

select date,
    round(no_com_cnt/date_cnt,3) p
from countby_date
order by date
先创建countby_date临时表,再计算概率,就一直报错,为什么呢????
*/

with not_blacklist as(
    select * from email
    where send_id not in (select id from user where is_blacklist=1)
    and receive_id not in (select id from user where is_blacklist=1) 
)

select date,
    round(count(if(type='no_completed',1,null))/count(id),3) p
	/*或者 round(count(case when type='no_completed' then 1 else null end)/count(id),3) p */
from not_blacklist
group by date
order by date

分组条件计数:

select

count(case when condition then ... else ... end)

count(if(condition,value1,value2))

from table

group by column

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务