1633. 各赛事的用户注册率

2024-02-06 17:28
文章标签 赛事 用户注册 1633

本文主要是介绍1633. 各赛事的用户注册率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

用户表: 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 和他们注册的赛事。

编写解决方案统计出各赛事的用户注册百分率,保留两位小数。

返回的结果表按 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:用于指定要查询的列,包括比赛编号 contest_id 和比赛报名人数在总用户数中的百分比 percentage。
  • ROUND:用于将计算出的百分比结果保留两位小数。
  • COUNT:用于统计每个比赛的报名人数。
  • SELECT COUNT(*) FROM users:用于查询用户总数,并将其作为分母计算每个比赛的报名人数在总用户数中的百分比。
  • GROUP BY:用于将查询结果按照比赛编号进行分组。
  • ORDER BY:用于按照百分比和比赛编号对查询结果进行排序,其中 DESC 表示降序排列。

AC代码

# Write your MySQL query statement below
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

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

这篇关于1633. 各赛事的用户注册率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685029

相关文章

统计每一天的用户注册数sql语句

统计每一天的用户注册数sql语句 SELECT count(*), DATE_FORMAT(FROM_UNIXTIME(ctime),'%m-%d') as time FROM zj_admin  WHERE ctime BETWEEN  unix_timestamp('2014-3-1')  AND (unix_timestamp('2014-4-30')+3600*24*3

【国赛】【美赛】【五一杯】【电工杯】【华数杯】【亚太杯】······各赛事历年优秀论文+真题分享

今天继续给大家分享十分重磅的资料哦,数学建模各大竞赛的资料汇总,可能很多小伙伴平时进行某个比赛的资料搜索的时候会发现,我们想要的这个比赛的资料有时候非常难搜索到,搜索23年,显示21年的,搜索小美赛,出现美赛的,             那么现在小伙伴们的福音来啦,我们把各类赛事,电工杯,妈妈杯,五一赛,亚太杯,数维杯国赛,美赛等等一系列比赛的历年真题和优秀论文都汇总出来了,还有部分

nodejs基础教程-简单blog(8)--展示用户注册信息列表

本节课展示用户注册信息列表;当点击导航栏的“用户管理”浏览器跳转路由/admin/user 显示用户列表。 先上效果图; 开始 1,在layout.html模板中导航标签中设置路径; 2,新建文件 views/admin/user_index.html,在admin.js中设置user_index的路由为/admin/user;并查询数据库所有用户的信息 返回给前台users;

Node写博客--用户注册前端页面逻辑和body-parser模块的使用

1.在routers中的main.js页面中,写入代码,渲染views/main/index.html页面 var express = require('express');var router =express.Router();router.get('/',function(req,res,next) {res.render('main/index');//渲染当前views下面的ind

无人机航拍端午赛龙舟:EasyCVR/EasyDSS视频推流直播技术助力赛事传播

随着科技的飞速发展,无人机技术已经渗透到我们生活的各个方面,从农业监测到地质勘探,从城市规划到影视拍摄,其应用越来越广泛。而在近年来,无人机技术也被引入到传统的赛龙舟活动中,为这一古老而充满活力的文化盛宴增添了全新的视角和体验。 在过去的端午假期中,各地的赛龙舟活动频繁登上热搜新闻。赛龙舟作为中国传统文化的重要组成部分,以其独特的魅力和激情吸引着成千上万的观众。然而,传统的观看方式往往受限于视角

JavaWeb学习-MVC基础开发系列-5-用户注册校验实现

这篇来看看用户注册表单中,如果用户数输入内容和字段要求不符合,弹出对应错误消息提醒。这个过程要怎么实现呢, 1.新写一个实体类 这个实体类,就是一个UserForm.java,里面包含注册表单的一切属性,还有一个map集合,用来存放各种错误提示。 package com.anthony.domain;import java.io.Serializable;import java.text.

JavaWeb学习-MVC基础开发系列-2-用户注册功能

前面一篇,我们把开发练习的环境和代码都准备好了,这篇我们直接来写用户注册的代码。先来分析一下用户注册的页面,我们需要给用户提供一个页面,点击注册链接,进入到注册表单页面。用户输入用户名和密码,点击注册,提示用户是否完成注册。   1.在service层写一个注册接口 接着前面一篇代码,前面我们写完了dao层的接口和实现类。这里我们在service下新建一个接口,里面就一个注册方法。 pac

18 - 各赛事的用户注册率(高频 SQL 50 题基础版)

18 - 各赛事的用户注册率 -- 注册率=注册用户数/所有用户数selectr.contest_id,round(100*count(*)/(select count(*) from Users),2) percentage from Register rgroup by r.contest_idorder bypercentage desc,r.contest_id AS

【Python-Django后端】用户注册通用逻辑,用户名、手机号重名检测,注册成功后状态保持!!!...

用户注册后端逻辑 1. 接收参数 username = request.POST.get('username')password = request.POST.get('password')password2 = request.POST.get('password2')mobile = request.POST.get('mobile')allow = request.POST.ge

Spring MVC+mybatis 项目入门:旅游网(三)用户注册——控制反转以及Hibernate Validator数据验证

个人博客:Spring MVC+mybatis 项目入门:旅游网(三)用户注册 | iwts's blog 先看这个! 这是18年的文章,回收站里恢复的,现阶段看基本是没有参考意义的,技术老旧脱离时代(2024年辣铁铁) 如果你在找相关的内容,建议先自我反省一下为什么会搜这么old school的关键词,其次请直接上b站搜索Spricing boo+培训班,看最新的项目相关视频 注