其他分享
首页 > 其他分享> > 每日一题-81(广告效果)

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

作者:互联网

题81:

根据下表写一条SQL语句来查询每一条广告的 ctr , ctr 要保留两位小数。结果需要按 ctr 降序、按 ad_id 升序 进行排序。
在这里插入图片描述
在这里插入图片描述
其中: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;

标签:Clicked,ad,ctr,sum,广告,action,一题,81,id
来源: https://blog.csdn.net/Txixi/article/details/122647641