LeetCode MySQL 1322. 广告效果
文章目录
- 1. 题目
- 2. 解题
1. 题目
表: Ads
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| ad_id | int |
| user_id | int |
| action | enum |
+---------------+---------+
(ad_id, user_id) 是该表的主键
该表的每一行包含一条广告的 ID(ad_id),
用户的 ID(user_id) 和用户对广告采取的行为 (action)
action 列是一个枚举类型 ('Clicked', 'Viewed', 'Ignored') 。
一家公司正在运营这些广告并想计算每条广告的效果。
广告效果用点击通过率(Click-Through Rate:CTR)来衡量,公式如下:
CTR={0,if Ad total clicks +Ad total views =0Ad total clicks Ad total clicks +Ad total views ×100,otherwise C T R=\left\{\begin{array}{ll}0, & \text { if Ad total clicks }+\text { Ad total views }=0 \\ \frac{\text { Ad total clicks }}{\text { Ad total clicks }+\text { Ad total views }} \times 100, & \text { otherwise }\end{array}\right.CTR={0, Ad total clicks + Ad total views Ad total clicks ×100, if Ad total clicks + Ad total views =0 otherwise
写一条SQL语句来查询每一条广告的 ctr ,
ctr 要保留两位小数。结果需要按 ctr 降序、按 ad_id 升序
进行排序。
查询结果示例如下:
Ads 表:
+-------+---------+---------+
| ad_id | user_id | action |
+-------+---------+---------+
| 1 | 1 | Clicked |
| 2 | 2 | Clicked |
| 3 | 3 | Viewed |
| 5 | 5 | Ignored |
| 1 | 7 | Ignored |
| 2 | 7 | Viewed |
| 3 | 5 | Clicked |
| 1 | 4 | Viewed |
| 2 | 11 | Viewed |
| 1 | 2 | Clicked |
+-------+---------+---------+
结果表:
+-------+-------+
| ad_id | ctr |
+-------+-------+
| 1 | 66.67 |
| 3 | 50.00 |
| 2 | 33.33 |
| 5 | 0.00 |
+-------+-------+
对于 ad_id = 1, ctr = (2/(2+1)) * 100 = 66.67
对于 ad_id = 2, ctr = (1/(1+2)) * 100 = 33.33
对于 ad_id = 3, ctr = (1/(1+1)) * 100 = 50.00
对于 ad_id = 5, ctr = 0.00,
注意 ad_id = 5 没有被点击 (Clicked) 或查看 (Viewed) 过
注意我们不关心 action 为 Ingnored 的广告
结果按 ctr(降序),ad_id(升序)排序
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ads-performance
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
# Write your MySQL query statement below
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
or
# Write your MySQL query statement below
select ad_id, round(ifnull(sum(action = 'Clicked')/(sum(action != 'Ignored'))*100, 0) ,2) as ctr
from Ads
group by ad_id
order by ctr desc, ad_id
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode MySQL 1322. 广告效果相关推荐
- LeetCode MySQL解题目录
已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...
- php产品效果图,jQuery_基于JQuery制作的产品广告效果,效果图.如下: 动画效果介绍 - phpStudy...
基于JQuery制作的产品广告效果 效果图.如下: 动画效果介绍:这组广告效果是打开页面后图片会自动播放,从1-5共计5张图片,如果属标放到右下角的1.2.3.4.5列表上,可以自由进行切换到自己想看 ...
- 广告效果数据的实时计算与分析(Druid)(一)
我是做SSP-供应方平台服务的,工作中除了负责SSP 管理后台的需求开发(如,媒体应用和位置的管理.流量分配.效果数据的报表展示.SDK性能分析等)之外,最主要的是负责SSP广告效果数据的实时统计与分 ...
- php广告轮播效果,使用swiper组件实现轮播广告效果
这次给大家带来使用swiper组件实现轮播广告效果,使用swiper组件实现轮播广告效果的注意事项有哪些,下面就是实战案例,一起来看一下. 1.安装swipernpm install swiper@3 ...
- LeetCode MySQL 1308. 不同性别每日分数总计(累加/变量/窗口函数)
文章目录 1. 题目 2. 解题 1. 题目 表: Scores +---------------+---------+ | Column Name | Type | +--------------- ...
- JQuery实现广告效果(滚动切换)
JQuery实现广告效果(滚动切换) Html+css 效果如上图 代码: Java代码 <!DOCTYPE html> <html> <head lang=&quo ...
- 【广告技术】如何提升定向广告效果?腾讯广告提出高质量负实例生成新方法
基于CCF-腾讯犀牛鸟基金的平台支持,腾讯广告与清华大学李勇老师团队围绕分布式大规模推荐算法开展了深入的合作研究.双方最新的合作成果入选了信息检索和数据挖掘领域顶级学术会议之一ACM CIKM 202 ...
- jquery banner广告图片左右切换,模仿实现支付宝广告效果
原文:jquery banner广告图片左右切换,模仿实现支付宝广告效果 源代码下载地址:http://www.zuidaima.com/share/1771186023091200.htm 由最代码 ...
- Facebook广告效果数据获取
一.背景 公司每年在Facebook和Google上投放了大量的广告,我总不能让老板登录Facebook广告投放平台上去看广告效果,其实老板只关注每天花了多少钱引来了多少客户,每个客户平均花费多少钱, ...
最新文章
- 数据预处理常用技巧 | 数据分析中如何处理缺失值?(文末福利)
- makefile笔记
- 硬分叉升级越来越近,BCH社区都在做什么?
- css div漂浮向下,DIV+CSS固定底部的漂浮广告
- 【Java】欧拉回路的判定
- ccs4c语言用户手册,CCS v4.x快速入门:EasyDsp开发套件产品手册
- CMake - SWIG - 移植动态库
- mysql 备库同步_MYSQL主从库同步配置过程
- windows下CodeBlocks TMD-GCC安装及配置
- Xib实现UICollectionView
- mysql_视图与变量
- 微信小程序下载pdf到本地的坑
- 职场泥潭 | 这样的IT公司绝对不宜久留
- iOS仿苹果原生天气app总结
- [转贴]IE中 无法打开internet站点 。。。。。
- DES的s盒输出CPA和DPA攻击
- jQuery Validate表单中文正则验证+手机号正则验证
- vue3 - 23.h函数 / 函数式编程
- java语言就业方向_Java就业方向有哪些?
- Android中把图片、视频保存到相册中