MySQL基础练习题36-各赛事的用户注册率

devtools/2024/9/24 11:10:06/

目录

题目

准备数据

分析数据


题目

统计出各赛事的用户注册百分率,保留两位小数。

返回的结果表按 percentage 的 降序 排序,若相同则按 contest_id 的 升序 排序。

准备数据

## 创建库
create database db;
use db;## 创建Users表
Create table If Not Exists Users (user_id int, user_name varchar(20));## 创建Register表
Create table If Not Exists Register (contest_id int, user_id int);## 向表中插入数据
Truncate table Users;
insert into Users (user_id, user_name) values ('6', 'Alice');
insert into Users (user_id, user_name) values ('2', 'Bob');
insert into Users (user_id, user_name) values ('7', 'Alex');
Truncate table Register;
insert into Register (contest_id, user_id) values ('215', '6');
insert into Register (contest_id, user_id) values ('209', '2');
insert into Register (contest_id, user_id) values ('208', '2');
insert into Register (contest_id, user_id) values ('210', '6');
insert into Register (contest_id, user_id) values ('208', '6');
insert into Register (contest_id, user_id) values ('209', '7');
insert into Register (contest_id, user_id) values ('209', '6');
insert into Register (contest_id, user_id) values ('215', '7');
insert into Register (contest_id, user_id) values ('208', '7');
insert into Register (contest_id, user_id) values ('210', '2');
insert into Register (contest_id, user_id) values ('207', '2');
insert into Register (contest_id, user_id) values ('210', '7');
Users表

Register表

分析数据

所有用户都注册了 208、209 和 210 赛事,因此这些赛事的注册率为 100% ,我们按 contest_id 的降序排序加入结果表中。
Alice 和 Alex 注册了 215 赛事,注册率为 ((2/3) * 100) = 66.67%
Bob 注册了 207 赛事,注册率为 ((1/3) * 100) = 33.33%

 第一步:统计每个赛事的总人数

select contest_id,count(user_id) from register
group by contest_id
order by contest_id desc;

第二步:利用子查询算出总人数,然后算出比率

select contest_id , round(count(user_id) * 100/ (select count(*) from users), 2) percentage
from Register
group by contest_id
order by percentage desc, contest_id;

 


http://www.ppmy.cn/devtools/94250.html

相关文章

偏导数的可视化

偏导数的可视化 flyfish 函数 f ( x , y ) sin ⁡ ( x ) ⋅ cos ⁡ ( y ) f(x, y) \sin(x) \cdot \cos(y) f(x,y)sin(x)⋅cos(y) import numpy as np from sympy import lambdify, sin, cos from sympy.abc import x, y import matplotlib.pyplot as plt from mpl_toolk…

解决ONENOTE复制文字到外部为图片(Ditto)

默认情况下,在ONENOTE中记录的文字,在复制粘贴到外部时,会成为一张图片格式 如下图这段文字,粘贴到QQ中变为了图片 解决办法:安装Ditto Ditto下载链接 点击Download下载 双击安装.exe,选择安装路径后&…

2024.8.7(SQL语句)

一、回顾 1、主服务器 [rootslave-mysql ~]# yum -y install rsync [rootmaster-mysql ~]# yum -y install rsync [rootmaster-mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar [rootmaster-mysql ~]# ls [rootmaster-mysql ~]# tar -xf mysql-8.0.33-linux-glib…

Java如何使用 HTTP 请求下载图片

工具类: public FileInputStream fileDownload(String fileLink) throws Exception {System.out.println("开始下载"fileLink);// 转码中文URL url new URL(encodeURLChinese(fileLink));System.out.println("fileLink:"url);// 开始下载Trust…

三防平板满足多样化定制为工业领域打造硬件解决方案

在当今工业领域,数字化、智能化的发展趋势日益显著,对于高效、可靠且适应各种复杂环境的硬件设备需求不断增长。三防平板作为一种具有坚固耐用、防水防尘防摔特性的工业级设备,正以其出色的性能和多样化的定制能力,为不同行业的应…

云计算虚拟化Libvirt Domain XML Format中文版—对照学习使用

笔者在云计算工作中记录虚拟化Libvirt XML相关学习内容 说明资料源:部分术语及libvirt目标域XML格式(Domain XML Format)1. 元素和属性概述(Element and attribute overview)1.1 通用元数据(General metadata)1.2 操作系统启动(Operating system booting)1.2.1 BIOS…

江协科技STM32学习笔记

第01章 STM32简介及开发环境搭建 1.1 STM32简介 1.1.1 STM32F103C8T6 系列:主流系列STM32F1 内核:ARM Cortex-M3 主频:72MHz RAM:20K(SRAM) ROM:64K(Flash) 供电…

网络基础知识(一遍过)

文章目录 导读1、局域网定义与优缺点局域网的组建 2、广域网定义与特点技术与应用与局域网的区别安全性与稳定性 3、IP地址IP地址的作用IP地址的类型 4、端口号5、协议6、协议分层一、协议分层的定义二、协议分层的好处三、常见的协议分层模型四、协议分层的工作原理 导读 计算…