首页 > 其他分享 >1633. 各赛事的用户注册率

1633. 各赛事的用户注册率

时间:2023-07-04 19:44:10浏览次数:54  
标签:1633 210 +-------------+---------+ contest 用户注册 user 赛事 id

1633. 各赛事的用户注册率

SQL架构

用户表: Users

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| user_id     | int     |
| user_name   | varchar |
+-------------+---------+
user_id 是该表的主键。
该表中的每行包括用户 ID 和用户名。

 

注册表: Register

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| contest_id  | int     |
| user_id     | int     |
+-------------+---------+
(contest_id, user_id) 是该表的主键。
该表中的每行包含用户的 ID 和他们注册的赛事。

 

写一条 SQL 语句,查询各赛事的用户注册百分率,保留两位小数。

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

查询结果如下示例所示。

 

示例 1:

输入:
Users 表:
+---------+-----------+
| user_id | user_name |
+---------+-----------+
| 6       | Alice     |
| 2       | Bob       |
| 7       | Alex      |
+---------+-----------+

Register 表:
+------------+---------+
| contest_id | user_id |
+------------+---------+
| 215        | 6       |
| 209        | 2       |
| 208        | 2       |
| 210        | 6       |
| 208        | 6       |
| 209        | 7       |
| 209        | 6       |
| 215        | 7       |
| 208        | 7       |
| 210        | 2       |
| 207        | 2       |
| 210        | 7       |
+------------+---------+
输出:
+------------+------------+
| contest_id | percentage |
+------------+------------+
| 208        | 100.0      |
| 209        | 100.0      |
| 210        | 100.0      |
| 215        | 66.67      |
| 207        | 33.33      |
+------------+------------+
解释:
所有用户都注册了 208、209 和 210 赛事,因此这些赛事的注册率为 100% ,我们按 contest_id 的降序排序加入结果表中。
Alice 和 Alex 注册了 215 赛事,注册率为 ((2/3) * 100) = 66.67%
Bob 注册了 207 赛事,注册率为 ((1/3) * 100) = 33.33%

select distinct 
    contest_id,
    round(count(distinct user_id)/(select count(distinct user_id) from Users)*100,2) as percentage
from 
    Register
group by 
    contest_id
order by 
    percentage desc,
    contest_id asc

 

标签:1633,210,+-------------+---------+,contest,用户注册,user,赛事,id
From: https://www.cnblogs.com/fulaien/p/17526814.html

相关文章

  • 案例-用户注册
       packagecom.itheima.web;importcom.itheima.pojo.User;importcom.itheima.service.UserService;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.H......
  • 案例-用户注册
      packagecom.itheima.web;importcom.itheima.mapper.UserMapper;importcom.itheima.pojo.User;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.i......
  • 数据库分库分表操作——假如用户注册人数过亿
    如果用户注册人数过亿,数据信息量大。此时就需要考虑分库分表单库分表垂直拆分和水平拆分垂直拆分       拆分列 水平分表——常见    本质把大表拆分小表——Id取模分表数据迁移问题:如果一开始将数据预估量很大。建议根据id范围分表。——多用于分......
  • 案例补充:进阶版本的多用户注册等了功能
    案例补充:进阶版本的多用户注册等了功能1.支持多用户注册'''快捷键:tab缩进,shift+tab反向缩进''''''多用户注册'''whileTrue:#1.接收用户名和密码username=input('username>>>:')password=input('passwor......
  • [4月摸鱼计划] 浅谈 InfruWeb3黑客松赛事
    事情起因:https://marketing.csdn.net/p/6798543ad6fdaad547c6431dd7df955a之前没接触过区块链这块,这次随即报名NFT这块。下面谈我的学习过程:第一阶段资料搜索(简单看看就行)什么是NFT?NFT是“非同质化代币”的缩写,是一种基于区块链技术的数字资产。和比特币等传统加密货币不同的是,NFT......
  • OpenHarmony创新赛 | 赛事宣讲会日期重磅官宣!为你带来超详尽的赛事攻略
    最近接到很多小伙伴私信提问,比如如何报名开放原子开源大赛OpenAtom OpenHarmony(简称:"OpenHarmony")创新赛?有哪些赛题可以报名参赛?现在,赛事宣讲会来啦~5月31日,14:30--16:30,关注OpenHarmony公众号直播,带你了解超详尽的创新赛报名攻略!报名地址:https://mp.weixin.qq.com/s/3aPTE5mW1-1KN8......
  • 配置wordpress:允许用户注册(wordpress 6.2)
    一,wordpress默认不允许用户注册:如图:注意:登录界面上没有注册的入口二,在后台设置允许注册打开:设置->常规选中:任何人都可以注册 一项点击保存更改按钮后生效查看效果:登录界面出现了注册链接注册界面如图:说明:刘宏缔的架构森林是一个专注架构的博客,地址:https......
  • Microsoft Azure中用户注册、应用注册、授权
    背景利用MicrosoftAzure中令牌授予流读取登录用户信息(UserInfo),实现应用的单点登录;1.用户注册此处用户注册,可以理解为一个管理员级别的用户注册;点击注册:Azure用户注册2.注册应用登录Azure后,左侧菜单“应用注册”中点“新注册”:注册过程中,clientId、“重定向URI(可选)......
  • 【防止恶意用户注册】-- 手机在网状态 API 的防欺诈应用解析
     简介手机在网状态API支持传入手机号码,查询手机号在网状态,返回在网、在网不可用、不在网(销号/未启用/停机)等多种状态,查询手机号在网状态之后,可以根据具体的业务需求来进行不同的处理。 本文主要介绍手机在网状态API的工作原理、以及手机号码注册验证、金融服务、数据......
  • 用户注册登录
    importjsonfromflaskimportFlask,render_template,request,jsonifyfromflask_mysqldbimportMySQLapp=Flask(__name__)app.config['MYSQL_HOST']='localhost'app.config['MYSQL_USER']='root'app.config[......