每日一题-81(广告效果)

题81:

根据下表写一条SQL语句来查询每一条广告的 ctr , ctr 要保留两位小数。结果需要按 ctr 降序、按 ad_id 升序 进行排序。
每日一题-81(广告效果)
每日一题-81(广告效果)
其中:ad_id, user_id 是主键,该表的每一行包含一条广告的 ID(ad_id),用户的 ID(user_id) 和用户对广告采取的行为 (action)
action 列是一个枚举类型 (‘Clicked’, ‘Viewed’, ‘Ignored’) 。
解题思路:
(1)根据ad_id 分组
(2)用sum()做计算
(3)用ifnull()来判断null值

select ad_id ,
    round(ifnull(sum(action = 'Clicked') /(sum(action = 'Clicked') + sum(action = 'Viewed')) * 100, 0), 2) AS ctr
from Ads
group by  ad_id 
order by ctr desc,ad_id;

上一篇:Data Wrangling-数据整理


下一篇:第81期-基础技巧:双指针 移除元素