当前位置: 首页 > news >正文

mysql,根据学生成绩计算各个分数段学生数量,以及最高分最低分平均分

student_grades数据表中重要字段有total_score(最终成绩),id(用户id),class_id(班级id)

要求一个sql查询出某个班的学生总数,有成绩的数量,无成绩的数量,60以下,60-79,80以上的数量,最高分,最低分,平均分

SELECTCOUNT(id) AS totalUser,COUNT(total_score IS NOT NULL OR NULL) AS hasScore,COUNT(total_score IS NULL OR NULL) AS noScore,COUNT(total_score >= 80 OR NULL) AS higherThan80,COUNT(total_score >= 60 AND total_score < 80 OR NULL) AS between60to79,COUNT(total_score < 60 OR NULL) AS lessThan60,IFNULL(MAX(total_score),0) AS maxScore,IFNULL(MIN(total_score),0) AS minScore,IFNULL(CAST(AVG(total_score) AS DECIMAL(10,2)),0) AS avgScore
FROMstatistic_student_grades
WHERE class_id = #{classId,jdbcType=INTEGER}

tips:
count()函数只有在值为null时才不统计数据,而为false时是会统计数据的,因此需要加上or null,既当条件不满足时不进行统计

相关文章:

  • JVM 性能调优
  • Airtest使用的图像识别算法识别比较慢解决办法,改变算法的运算顺序或者指定一种算法,提高Airtest图像识别效率
  • SpringBoot集成WebSocket
  • 软件项目管理---胡乱复习版
  • 虚幻学习笔记10—C++函数与蓝图的通信
  • C++STL的vector模拟实现
  • 现代皮质沙发模型材质编辑
  • React中父子之间数据的通信方式
  • 托盘四向穿梭车自动化密集库供应|单机智能向系统智能跨越的HEGERLS托盘四向车系统
  • c# bitmap压缩导致png不透明的问题解决
  • 关于mars3d通过zIndex参数实现控制图层层级叠加效果说明
  • 【go-zero】go-zero使用ent框架 如何使用源生sql完成查询
  • YOLOv8算法改进【NO.86】将主干特征网络替换为2023年顶会CVPR的EfficientViT,助力SCI论文发表
  • Kotlin关键字二——constructor和init
  • 算法通关村第十三关—数学与数学基础问题(青铜)
  • [nginx文档翻译系列] 控制nginx
  • [译] 怎样写一个基础的编译器
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  •  D - 粉碎叛乱F - 其他起义
  • JS学习笔记——闭包
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Webpack 4x 之路 ( 四 )
  • 当SetTimeout遇到了字符串
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 实习面试笔记
  • 栈实现走出迷宫(C++)
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #define 用法
  • #NOIP 2014# day.2 T2 寻找道路
  • #pragma once
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (1)(1.13) SiK无线电高级配置(六)
  • (23)Linux的软硬连接
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (C语言)二分查找 超详细
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (阿里云万网)-域名注册购买实名流程
  • (分布式缓存)Redis分片集群
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Core 中的路径问题
  • .NET MVC之AOP
  • .NET 使用配置文件
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net和jar包windows服务部署
  • .Net组件程序设计之线程、并发管理(一)
  • @Resource和@Autowired的区别
  • [100天算法】-实现 strStr()(day 52)