新闻中心

数据库mysql中case给成绩划分等级

2025-10-30
浏览次数:
返回列表
使用CASE语句可按成绩动态划分等级,SELECT中通过WHEN顺序判断score字段,90分以上为优秀,80-89为良好,60-79为及格,低于60为不及格,条件从高到低排列避免逻辑错误,NULL值需特殊处理,结合GROUP BY可统计各等级人数。

数据库mysql中case给成绩划分等级

在MySQL中,可以使用CASE语句根据成绩字段的数值动态划分等级。这种方式常用于学生成绩统计、报表生成等场景。下面是一个实用的示例,展示如何用CASE语句将成绩划分为“优秀”、“良好”、“及格”和“不及格”。

基本语法结构

MySQL中的CASE语句有两种形式:简单CASE和搜索CASE。在成绩分级中,通常使用搜索CASE,因为它支持条件判断。

假设有一个名为 students 的表,包含字段:name(姓名)和 score(成绩),我们可以这样写查询:

凡人网络购物系统jsp版(JspShop) 凡人网络购物系统jsp版(JspShop)

基于jsp+j*abean+access(mysql)三层结构的动态购物网站,v1.2包含v1.0中未公开的数据库连接 的j*a源文件 一,网站前台功能: 产品二级分类展示:一级分类--二级分类--产品列表--详细介绍(名称,图片,市场价,会员价,是否推荐,功能介绍等) 产品搜索:关键字模糊搜索 定购产品:选择商品--确认定购--填写收货人信息--选择付款方式--订单号自动生成(限登录用户)

凡人网络购物系统jsp版(JspShop) 0 查看详情 凡人网络购物系统jsp版(JspShop)

SELECT name, score,
CASE
    WHEN score >= 90 THEN '优秀'
    WHEN score >= 80 THEN '良好'
    WHEN score >= 60 THEN '及格'
    ELSE '不及格'
END AS grade
FROM students;

结果说明

这条SQL会返回每个学生的姓名、原始成绩和对应的等级:
  • 90分及以上 → 优秀
  • 80-89分 → 良好
  • 60-79分 → 及格
  • 60分以下 → 不及格

注意事项

使用CASE进行成绩分级时注意以下几点:
  • 条件判断是按顺序执行的,一旦满足某个WHEN条件,就会跳出CASE,不会继续判断后续条件。因此要从高分到低分排列,避免逻辑错误。
  • 如果score字段允许NULL值,建议先用IFNULL或IS NULL处理,防止数据异常。
  • 可以在WHERE子句中也使用CASE,但更常见的是在SELECT中用于展示,在GROUP BY中配合聚合函数做分组统计。

扩展用法:结合GROUP BY统计各等级人数

你还可以统计每个等级的学生数量:

SELECT
CASE
    WHEN score >= 90 THEN '优秀'
    WHEN score >= 80 THEN '良好'
    WHEN score >= 60 THEN '及格'
    ELSE '不及格'
END AS grade,
COUNT(*) AS count
FROM students
GROUP BY grade;

基本上就这些,用好CASE语句能让查询结果更直观,适合做成绩分析类的数据展示。不复杂但容易忽略细节,比如条件顺序和NULL处理。

以上就是数据库mysql中case给成绩划分等级的详细内容,更多请关注php中文网其它相关文章!


# 收货人  # 网站建设产品展示型的  # 潍坊全媒体推广招聘网站  # 黄页网站推广免费无病毒  # 丰台区大型网络营销推广  # 廊坊seo长尾关键词  # 网站建设实用小挂件  # 大足网站线上推广方案  # 苹果应用关键词排名查询  # 江油搜索引擎seo  # 深圳网站优化案例  # 我们可以  # 你还  # php  # 子句  # 是在  # 就会  # 连接数据库  # 是一个  # 到低  # 购物系统  # 排列  # 聚合函数  # mysql  # java 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: React中useState与局部变量:理解组件状态管理与渲染机制  Lar*el用户头像管理:实现图片缩放、存储与旧文件安全删除的最佳实践  解决Tabulator日期时间排序问题的专业指南  如何优雅地扩展SprykerGlue后端API授权逻辑,使用spryker/glue-backend-api-application-authorization-connector-extension  Python:递归比较文件夹内容并找出特定类型文件的差异  必由学官网首页入口 必由学教师网页版登录指南  PDF文件体积过大处理_PDF压缩技巧详解  sublime如何配置Python开发环境_将sublime打造成轻量级Python IDE  《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!  C++的std::mdspan是什么_C++23中用于操作多维数组的非拥有视图  生成rdflib自定义SPARQL函数:参数匹配与实践指南  Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达  动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道  AO3官方镜像站点汇总 AO3同人作品网页版直达链接  押井守高度称赞《辐射4》:玩了八年都停不下来!  b站怎么看视频的弹幕数量_b站弹幕数量查看方法  纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析  Excel中VLOOKUP的第四个参数是干什么用的_Excel VLOOKUP第四参数作用解析  Win11怎么开启省电模式_Win11电池节电模式自动开启  将HTML动态表格多行数据保存到Google Sheet的教程  《主播少女的秘密账号迷宫》首支宣传片  初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?  PDO预处理语句中冒号的正确处理:区分SQL函数格式与命名占位符  天猫双十一预售商品怎么退款_天猫双十一预售退款操作指南  优化大型XML文件解析:基于Python流式处理的内存高效方案  Composer如何解决json扩展缺失的错误  抖音网页版企业服务中心登录入口_抖音网页版企业登录平台  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  Python多线程中正确使用sigwait处理SIGALRM信号  mc.js免安装版 mc.js一键畅玩入口  Go语言中JSON数据解析与字段访问教程  《马克思佩恩3》早期版本曝光 UI设计曾多次调整!  修复二维数组索引越界异常:一维循环到二维坐标的正确映射  Golang如何实现状态模式管理对象状态_Golang State模式实现技巧  FullCalendar 自定义按钮样式定制指南  12306选座怎么选到商务座_12306商务座选择与配置说明  J*aScript中管理异步API调用:确保操作顺序与数据一致性  三星ZFold5多任务卡顿_Samsung ZFold5流畅度提升  微信网页版官方入口教程 微信网页版网页版快速登录步骤  如何在Promise链中有效终止错误处理后的执行  Golang如何优化CPU绑定任务分配策略_Golang CPU任务分配优化实践  Pyrogram与g4f集成:异步编程实践与常见错误解决  C++如何实现异步操作_C++11使用std::future和std::async进行异步编程  qq游戏免费畅玩入口_qq游戏电脑版快速启动  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  CSS图片焦点样式实现教程:理解与应用tabindex属性  Lar*el Form Request中唯一性验证在更新操作中的正确实现  汽车之家官方网站官网入口_汽车之家网页版直接进入 

搜索