「SQL面试题库」 No_93 广告效果

news2024/11/26 10:51:45

🍅 1、专栏介绍

「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试,代码能力和工作效率也会有明显提升。

1.1 活动流程

  1. 整理题目:西红柿每天无论刮风下雨,保证在8am 前,更新一道新鲜SQL面试真题。
  2. 粉丝打卡:粉丝们可在评论区写上解题思路,或者直接完成SQL代码,有困难的小伙伴不要着急,先看别人是怎么解题的,边看边学,不懂就问我。
  3. 交流讨论:为了方便交流讨论,可进入 数据仓库
  4. 活动奖励:我每天都会看评论区和群里的内容,对于积极学习和热心解答问题的小伙伴,红包鼓励,以营造更好的学习氛围。

1.2 你的收获

  1. 增强自信,搞定面试:在求职中,SQL是经常遇到的技能点,而这些题目也多数是真实的面试题,刷题可以让我们更好地备战面试,增强自信,提升自己的核心竞争力。

  2. 巩固SQL语法,高效搞定工作:通过不断练习,能够熟悉SQL的语法和常用函数,掌握SQL核心知识点,提高SQL编写能力。代码能力提升了,工作效率自然高了。

  3. 提高数据处理能力、锻炼思维能力:SQL是数据处理的核心工具,通过刷题可以让我们更好地理解数据处理的过程,提高数据分析的效率。SQL题目的难度不一,需要在一定时间内解决问题,培养了我们对问题的思考能力、解决问题的能力和对时间的把控能力等。

🍅 2、今日真题

题目介绍: 广告效果 ads-performance

难度简单8收藏分享切换为英文关注反馈

SQL架构

表:

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)来衡量,公式如下:

img

写一条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(升序)排序

精简

sql
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 ASC;

笨方法

sql
select a.ad_id,ifnull(ctr,0) ctr
from Ads a
left join (
    select ad_id,round(sum(if(action='Clicked',1,0))/count(*)*100,2) ctr 
    from Ads 
    where action !='Ignored'
    group by ad_id
)t1 
on a.ad_id= t1.ad_id
group by ad_id,ctr
order by ctr desc,ad_id

  • 已经有灵感了?在评论区写下你的思路吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/629714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyCat Docker 搭建与测试

mycat 是mysql分库分表的中间件,由java编写,本次进行mysql、mycat 的docker搭建,理解mycat的原理与特性。 一、mysql docker 搭建 这里启动两个实例: docker run -itd --name mysql1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD123 m…

Golang每日一练(leetDay0092) 丑数 I\II Ugly Number i\ii

目录 263. 丑数 Ugly Number I 🌟 264. 丑数 Ugly Number II 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 263. 丑数 Ugl…

chatgpt赋能python:如何利用Python提高2022年的SEO效果

如何利用Python提高2022年的SEO效果 当谈到SEO时,Python已经成为了一种非常流行和有用的工具。在SEO的竞争激烈的时代,使用Python可帮助您找到各种创新方法来优化您的网站。在这篇文章中,我们将着重介绍Python的几种方法,来提高2…

高通开发系列 - 内核升级后音频驱动的开发和调试

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 背景概述msm8909平台codec框图msm8909内部控件的关系msm8909 数字codec内部处理流程驱动和dts的匹配问题msm8909 pm8909声卡部分的DTS…

chatgpt赋能python:Python怎么倒序输出列表

Python怎么倒序输出列表 介绍 Python是一种非常流行的编程语言,因为它具有简单易用和开放源代码的特点。使用Python可以进行许多操作,包括列表处理。列表是Python中常用的数据类型之一,它可以存储多个值并且可以通过下标访问。本文将介绍如…

chatgpt赋能python:Python内置函数:优化你的代码

Python内置函数:优化你的代码 在Python中,内置函数是非常重要的节省时间和简化代码的方法。Python内置了许多函数,可以在任何地方使用。无论从哪个角度看,这些函数都是编程中不可或缺的工具。在本篇文章中,我们将介绍…

chatgpt赋能python:Python如何切换中文

Python 如何切换中文 Python 是一种广泛使用的编程语言,被用于多种目的,包括数据分析、机器学习、Web 应用程序等。在使用 Python 进行开发时,需要处理不同的语言,其中中文也是包括在内的。对于需要切换中文的情况,本…

【考点】CKA 05_为 Kubernetes 运行 etcd 集群 etcd 备份与恢复

etcd 备份与恢复 1. 先决条件2. 内置快照2.1 安装 etcd2.2 获取 ENDPOINT 所提供的键空间的快照到文件 snapshotdb 注意!!!在 harbor 仓库中准备好升级需要的镜像控制平面节点:升级 kubeadm控制平面节点:验证升级计划控…

《设计模式》之解释器模式

文章目录 1、定义2、动机3、类结构4、优缺点5、总结6、代码实现(C) 1、定义 给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。 2、动机 在软件构建过程中,如果某一特定领域的问…

数据结构——栈,队列和数组

文章目录 **一 栈****1 基本概念****2 栈的顺序存储结构****2.1 顺序栈的实现****2.2 顺序栈的基本运算****2.3 共享栈** **3 栈的链式存储结构** **二 队列****1 基本概念****2 队列的顺序存储结构****2.1 队列的顺序存储****2.2 循环队列****2.3 循环队列的操作** **3 队列的…

JS 怎么理解ES6新增Set、Map两种数据结构?

目录 一、前言 二、Set 1.Set数据结构定义 2.Set数据结构的特性 3.Set数据结构的基本使用 4.Set遍历数据 5.Set 的使用场景 6.WeakSet的使用 7.垃圾回收机制 三、Map 1.Map数据结构定义 2.Map数据结构的特性 3.Map数据结构的基本使用 4.Map遍历数据 5.Map的使用场…

总结895

学习目标: 月目标:6月(线性代数强化9讲,背诵15篇短文,考研核心词过三遍) 周目标:线性代数强化3讲,英语背3篇文章并回诵,检测 每日必复习(5分钟)…

chatgpt赋能python:Python入门到精通

Python入门到精通 Python是一门高级编程语言,由于其易读、易理解的语法,被广泛应用于数据分析、人工智能、爬虫、Web开发等领域。对于想要学习Python的人来说,本文提供了一个从入门到精通的学习路线。 入门级别 在Python的入门阶段&#x…

unity 建立urp项目并使用后处理技术的方法

文章目录 一、 介绍下载、安装Univarsal RP创建配置文件打开 Project Settings参数介绍在这里插入图片描述General 通用选项Quality 画面品质Lighting 灯光设置Shadow 投影 阴影Post Processing 后处理后处理的添加Advanced 高级选项 一、 介绍 Unity URP是Unity官方提供的轻量…

CKA 02_containerd部署Kubernetes 部署containerd 使用kubeadm引导集群 安装Pod网络

文章目录 1. 清空实验环境2. containerd 部署 Kubernetes2.1 部署 containerd2.1.1 安装 containerd2.1.2 配置 containerd2.1.3 前置条件2.1.4 从 Docker 命令行映射到 crictl出现的第一个 error解决方法 2.2 使用 kubeadm 引导集群2.2.1 使用 kubeadm 创建单个控制平面的 Kub…

在Linux上安装MYSQL,保姆级教程,看完不会博主吃电脑~

前言 Linux上安装软件相对windows要更要复杂一些,流程可能让很多人感到有些复杂。而MYSQL作为常用的数据库软件,又属于不得不学的那类,因为今天就来分享一下我安装MYSQL的简易流程,保证小白也能跟着操作。 这次使用的是RPM的方式…

chatgpt赋能python:Python如何制作优秀的表格以实现SEO?

Python如何制作优秀的表格以实现SEO? 在当今数码环境下,SEO已经成为了一种重要的市场推广策略。而作为一种常用的编程语言,Python不仅可以方便快捷地完成数据处理和分析,也可以用于创建各种形式的表格。本文将介绍Python如何制作…

chatgpt赋能python:Python如何全选?

Python如何全选? 随着Python在Web开发,数据科学,人工智能和机器学习等领域的不断普及,越来越多的程序员使用Python来构建各种应用程序。但是有时候在编写Python代码时,需要快速地全选某段代码、某个模块或某个文本编辑…

chatgpt赋能python:Python自动化:提升SEO效果的必备技能

Python自动化:提升SEO效果的必备技能 随着互联网的快速发展,SEO已经成为大多数企业网络营销的关键词。提升SEO效果需要不断地对网站进行优化,而网站的更新频率、文章的质量和关键词的选择都是至关重要的因素。然而,人工操作复杂的…

chatgpt赋能python:Python中如何创建输入框

Python中如何创建输入框 在Python中,用户输入是非常常见的任务。而为了进行用户输入,我们需要创建一个输入框。 在本文中,我们将探讨Python中如何创建输入框,并将介绍一些关于SEO的最佳实践和技巧。 创建输入框 在Python中&…