牛客网刷题学习SQL(三)

SQL23 统计每个学校各难度的用户平均刷题数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

首先分析题目:

想要计算一些参加了答题的不同学校不同难度的用户平均答题量
不同学校: group by 学校
不同难度: group by 难度
平均答题量:注意用户去重,还有指定question_id、device_id是那个表的属性,不然会报列属性不明确的错

count(qpd.question_id)/count(distinct qpd.device_id) avg_answer_cnt

** 注意一下题目中的细节:
请你写一个SQL查询,计算不同学校、不同难度的用户平均答题量,根据示例,你的查询应返回以下结果(结果在小数点位数保留4位,4位之后四舍五入):**
所以平均答题代码需要修改:其实不修改也可以运行成功,但是细节可以减少真正开发的bug发生

round(count(qpd.question_id)/count(distinct qpd.device_id),4) avg_answer_cnt

后面就通过左连接查询

select university,difficult_level,
round(count(qpd.question_id)/count(distinct qpd.device_id),4) avg_answer_cnt
from question_practice_detail qpd 
left join user_profile up on qpd.device_id=up.device_id
left join question_detail qd on qpd.question_id = qd.question_id
group by university,difficult_level

总结一下:
相对前面的练习这次多使用了round函数

round函数

SQL 中的 ROUND() 函数是用于对数字进行四舍五入的函数,其语法如下:

ROUND(number, decimal_places)

其中,number 表示要进行四舍五入的数字,decimal_places 表示要保留的小数位数。如果 decimal_places 为正数,则表示保留的小数位数;如果 decimal_places 为负数,则表示舍入到小数点左侧的位数。

例如,以下 SQL 查询语句将 2.34567 这个数字四舍五入保留两位小数:

SELECT ROUND(2.34567, 2);

查询结果为:

2.35

需要注意的是,如果 number 的小数位数小于 decimal_places,则结果将补齐为 decimal_places 位,例如:

SELECT ROUND(2.3, 4);

查询结果为:

2.3000

在实际应用中,ROUND() 函数通常用于数据统计、报表生成等场合,可以对数字进行格式化处理,使其更符合人类的阅读习惯。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当然,我可以为您介绍一下 SQL Server 刷题的相关内容。SQL Server 是一种关系型数据库管理系统,用于存储和管理大量结构化数据。在刷题过程中,您可以通过解决一系列与 SQL Server 相关的问题来提高对其的理解和应用能力。 以下是一些常见的 SQL Server 刷题方向和相关问题: 1. SQL 基础知识: - 什么是 SQL Server?它有哪些特点和优势? - SQL Server 中的数据类型有哪些?它们分别用于存储什么类型的数据? - 如何创建数据库和表格? - 如何插入、更新和删除数据? - 如何使用 SELECT 语句查询数据? 2. 数据查询与筛 - 如何使用 WHERE 子句进行条件选? - 如何使用 ORDER BY 子句对查询结果进行排序? - 如何使用 GROUP BY 子句进行分组聚合操作? - 如何使用 HAVING 子句进行条件筛选(针对分组后的结果)? . 数据操作与修改: - 如何使用 UPDATE 语句修改表格中的数据? - 如何使用 DELETE 语句删除表格中的数据? - 如何使用 INSERT INTO 语句插入新的数据? 4. 数据连接与联结: - 如何使用 JOIN 连接多个表格? - 什么是内连接、外连接和交叉连接? - 如何使用子查询进行复杂的数据查询? 5. 数据聚合与统计: - 如何使用聚合函数(如 SUM、AVG、COUNT、MAX、MIN)进行数据统计? - 如何使用 GROUP BY 子句进行分组统计? - 如何使用 HAVING 子句进行条件筛选(针对分组后的统计结果)? 这些问题只是 SQL Server 刷题中的一部分,您可以据自己的需求和水平选择适合的题目进行练习。同时,还可以参考 SQL Server 官方文档、教程和在线资源来深入学习和提高技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈毓辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值