高频SQL 确认率

 题目信息

表: Signups

+----------------+----------+
| Column Name    | Type     |
+----------------+----------+
| user_id        | int      |
| time_stamp     | datetime |
+----------------+----------+
User_id是该表的主键。
每一行都包含ID为user_id的用户的注册时间信息。

表: Confirmations

+----------------+----------+
| Column Name    | Type     |
+----------------+----------+
| user_id        | int      |
| time_stamp     | datetime |
| action         | ENUM     |
+----------------+----------+
(user_id, time_stamp)是该表的主键。
user_id是一个引用到注册表的外键。
action是类型为('confirmed', 'timeout')的ENUM
该表的每一行都表示ID为user_id的用户在time_stamp请求了一条确认消息,该确认消息要么被确认('confirmed'),要么被过期('timeout')。

用户的 确认率 是 'confirmed' 消息的数量除以请求的确认消息的总数。没有请求任何确认消息的用户的确认率为 0 。确认率四舍五入到 小数点后两位 。

编写一个SQL查询来查找每个用户的 确认率 。

以 任意顺序 返回结果表。

查询结果格式如下所示。

示例 :

输入:
输入:
Signups 表:
+---------+---------------------+
| user_id | time_stamp          |
+---------+---------------------+
| 3       | 2020-03-21 10:16:13 |
| 7       | 2020-01-04 13:57:59 |
| 2       | 2020-07-29 23:09:44 |
| 6       | 2020-12-09 10:39:37 |
+---------+---------------------+
Confirmations 表:
+---------+---------------------+-----------+
| user_id | time_stamp          | action    |
+---------+---------------------+-----------+
| 3       | 2021-01-06 03:30:46 | timeout   |
| 3       | 2021-07-14 14:00:00 | timeout   |
| 7       | 2021-06-12 11:57:29 | confirmed |
| 7       | 2021-06-13 12:58:28 | confirmed |
| 7       | 2021-06-14 13:59:27 | confirmed |
| 2       | 2021-01-22 00:00:00 | confirmed |
| 2       | 2021-02-28 23:59:59 | timeout   |
+---------+---------------------+-----------+
输出: 
+---------+-------------------+
| user_id | confirmation_rate |
+---------+-------------------+
| 6       | 0.00              |
| 3       | 0.00              |
| 7       | 1.00              |
| 2       | 0.50              |
+---------+-------------------+
解释:
用户 6 没有请求任何确认消息。确认率为 0。
用户 3 进行了 2 次请求,都超时了。确认率为 0。
用户 7 提出了 3 个请求,所有请求都得到了确认。确认率为 1。
用户 2 做了 2 个请求,其中一个被确认,另一个超时。确认率为 1 / 2 = 0.5。

题解:

SELECT s.user_id,ROUND(IFNULL(AVG(c.action='confirmed'),0),2) AS confirmation_rate
FROMSignups AS s
LEFT JOINConfirmations AS c
ON s.user_id=c.user_id
GROUP BY s.user_id

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

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

相关文章

div+css布局与Table布局

一、divcss是什么? div是框架,css是样式,用来装饰框架的。divcss布局是指使用HTML的div元素和CSS样式实现页面布局。 优点: divCSS布局可以实现更灵活的布局,可以轻松实现响应式布局和移动端适配,同时也有…

vscode 自定义(修改已有)主题教程

在现有主题上创建 打开命令面板(CtrlShiftP 或 CmdShiftP)。输入并选择 “Developer: Generate Color Theme From Current Settings”。 这会根据你当前选择的主题(一个json)创建另一个(复制一份)json&am…

打破 AI 算力天花板,Meta超大规模AI基础设施架构解读

Meta超大规模AI智算基础设施架构设计 摘要 双重 GPU 集群,每群配备 2.4 万个 H100 芯片,分别采用 RoCE 和 InfiniBand 网络连接。LLaMA3 就是在这两个集群上训练出来的;Meta AI 将部署庞大算力集群,拥有 35 万张 H100 GPU&#x…

【C语言】第一个C程序:hello world

printf简介 printf是C语言提供的库函数,可以在屏幕上打印格式化数据。这里不作展开,只需要知道,如果要打印hello world,就把双引号引起来的"hello world"作为参数传给printf就行了。如果想要在打印后换行,要…

数据分析之Tebleau可视化:树状图、日历图、气泡图

树状图(适合子分类比较多的) 1.基本树状图的绘制 同时选择产品子分类和销售金额----选择智能推荐----选择树状图 2.双层树状图的绘制 将第二个维度地区拖到产品分类的下面---大的划分区域是上面的维度(产品分类),看着…

牛客热题:单链表排序

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:单链表排序题目链接方法一&…

如何压缩word文档的大小?6个方法教你方便的压缩word文档

如何压缩word文档的大小?6个方法教你方便的压缩word文档 以下是六个常用的软件和方法,可以帮助您方便地压缩Word文档大小: 使用Microsoft Word内置功能: 在Microsoft Word中,您可以使用内置的压缩功能来减小文档的大…

单通道合并为三通道输入resnet网络

我们在做多序列任务时,一个患者会有多个序列的图像,每个序列的图像都是1通道的灰度图像,我们可以把一个患者的多有序列合并为多通道输入网络,这里举个3序列的例子。 1.输入之前合并 在输入之前将三张1通道合并为3通道图像&#…

Celery(分布式任务队列)入门学习笔记

Celery 的简单介绍 用 Celery 官方的介绍:它是一个分布式任务队列; 简单,灵活,可靠的处理大量消息的分布式系统; 它专注于实时处理,并支持任务调度。 Celery 如果使用 RabbitMQ 作为消息系统的话,整个应用体系就是下…

25.哀家要长脑子了---哈希表

1.525. 连续数组 - 力扣(LeetCode) 在我对通义千问的一番折磨下,终于弄清楚一点点了。哈希表存储前缀和数组值 用一个counter来记录nums中0、1数量差值的变化。 哈希表map存储某个特定的counter值首次出现的位置。counter的计算:…

【深度学习】序列模型

深度学习(Deep Learning)是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层中进行学习,这些层对应于越来越有意义的表示。 1. 为什么选择序列模型? 循环神经网络(RNN…

python之 函数相关知识解析

01 函数的注释与嵌套 1.函数的注释 函数的注释与普通注释的区别:用来说明当前函数的参数含义 param 参数名: 参数的注释信息 return: 函数的返回值 例如: def fun1(name):""":param name: 参数的注释信息:return: 函数的返回值"…

(二)JSP教程——taglib指令

创建标签文件 首先创建一个Web项目,在webapp/WEB-INF目录下创建一个tags文件夹 在tags文件夹中创建一个oddNumberSum.tag文件,Tag文件时扩展名为.tag的文本文件,其结构和JSP文件非常相似,该文件的目录结构如图所示 创建Tag文件的…

Linux基础之makefile/make

目录 一、背景 二、makefile和make的讲解 2.1 使用方法 2.2 伪目标文件 2.3 文件的属性以及属性的更新 2.4 makefile的自动推导 一、背景 这里会提及为什么要使用makefile和make,以及他们是什么和作用。 会不会写makefile,从一个侧面说明了一个人是…

cache数据库在信创中的应用

Cache数据库在信创(信息技术应用创新)中的应用主要体现在其高性能、高可用性、灵活性和易用性等方面,这些特点使得Cache数据库在信创领域具有广泛的应用前景。 首先,Cache数据库作为后关系型数据库,能够整合对象数据库…

怎么口语外教一对一课程?这篇文章告诉你答案!

怎么口语外教一对一课程?在当今全球化的时代,英语口语能力已经成为许多人追求的重要技能。为了满足这一需求,市场上涌现出了许多提供一对一口语外教课程的软件。这些软件不仅提供了与母语为英语的外教进行实时交流的机会,还通过互…

Java之String类

一、String类常用方法 1.引用类型的比较 我们知道在Java中两个引用遍历是不能用" "号来比较的,而String类重写了父类objects的equals方法, 实现了引用类型的比较 例子 import java.util.Scanner; public class Main { public static void…

遭遇.halo勒索病毒怎么办?如何识别和应对.halo勒索病毒

导言: 近年来,网络安全问题愈发严峻,其中勒索病毒成为了威胁企业和个人数据安全的重要隐患。在2023年初,一种新的勒索病毒——.halo勒索病毒开始在网络上肆虐,给广大用户带来了极大的困扰。本文91数据恢复将对.halo勒…

c3 笔记6 认识css样式表

<link>与import应该如何选择?事实上&#xff0c;使用link与import链接外部样式文件的效果看起来是一样的&#xff0c;区别在于<link>是HTML标记而import属于CSS语法。<link>标记有rel、type与href属性&#xff0c;可以指定CSS样式表的名称&#xff0c;这样就…

C#中override与重载的区别

在C#中&#xff0c;override和重载&#xff08;通常通过定义具有相同名称但不同参数列表的方法来实现&#xff09;是两个不同的概念&#xff0c;它们在用途和行为上有所区别。下面是关于override和重载的主要区别&#xff1a; override&#xff08;重写&#xff09; 定义&…