【SQL自学打卡|DAY16】——聚合分组查询

本文主要介绍了SQL中的聚合函数,如平均值计算,以及分组查询的运用,包括平均活跃天数、月活人数的统计,月总刷题数和日均刷题数的计算,同时讲解了如何进行复杂条件下的分组查询,例如未完成试卷数大于1的有效用户筛选。
摘要由CSDN通过智能技术生成

前言

❤欢迎大家阅读我的文章呀❤
今天学习聚合分组查询
希望你们在我的文章当中能有所收获!!!
SLogan:日拱一卒,功不唐捐!

知识点回顾

表的创建、修改与删除

在这里插入图片描述

注意点

自增ID:AUTO_INCREMENT
主键:PRIMARY KEY
唯一性约束:UNIQUE KEY
非空约束:NOT NULL
设置默认值:DEFAULT 0
当前时间戳:CURRENT_TIMESTAMP
评论/注释:COMMENT

修改表:

① 增加列在某列之后
alter table 增加的表格 add 增加列的名称 数据类型 位置(after level 在level 之后)

②更换列的名称及数据类型
alter table user_info change 原列名 修改列名 修改数据类型

③ 更改数据类型
alter table 表名 modify 修改列名称 数据类型 默认值等

索引创建、删除与使用:

在这里插入图片描述

索引创建规则

1、普通索引:
(1)alter table 表名 add index 索引名称(列名);
(2)create index 索引名称 on 表名(列名);
2、唯一索引:
(1)alter table 表名 add unique index 索引名称(列名);
(2)create unique index 索引名称 on 表名(列名);
3、全文索引:
(1)alter table 表名 add fulltext index 索引名称(列名);
(2)create fulltext index 索引名称 on 表名(列名);

一、聚合函数

在这里插入图片描述


【SQL123】SQL类别高难度试卷得分的截断平均值
在这里插入图片描述

解题思路:
本题相对来说比较繁杂的就是这个计算,去掉最大值和最小值,(总成绩-最大值-最小值)/(成绩个数-2)
然后考虑保留小数位数——1位。用ROUND( ,1)
两张表之间也需要联结,最后筛选的条件就是SQL 和hard。

代码如下:

SELECT tag,difficulty,ROUND((SUM(score)-MAX(score)-MIN(score))/(COUNT(score)-2),1) AS clip_avg_score
FROM exam_record AS B
LEFT JOIN examination_info AS A
ON A.exam_id=B.exam_id
WHERE tag='SQL' AND difficulty='hard'	

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

祖国滴花骨朵儿

感谢之情无以言表,会用行动证明

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

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

打赏作者

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

抵扣说明:

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

余额充值