mysql - mysql时的使用案例

标签 mysql case

我想使用 case 查询总分列并获取相应的分数并将其存储为单独的列。我已经尝试了一段时间,但它一直给我错误。

    SELECT gradecalc.StudentId,gradecalc.CourseCode, Total,
     CASE TOTAL
      WHEN >90 THEN 'AA'
       WHEN <90 AND >85 THEN 'BA'
      WHEN <85 AND >=80 THEN 'BB'
      WHEN <80 AND >=75 THEN 'CB'
      WHEN <75 AND >=70 THEN 'CC'
      WHEN <70 AND >=65 THEN 'DC'
      WHEN <65 AND >=60 THEN 'DD'
        ELSE 'FF'
    END AS Grade

    FROM GRADECALC GROUP BY gradecalc.StudentId,gradecalc.CourseCode 

最佳答案

case <column> when <value>语法只能处理相等性检查。对于其他运算符,您必须使用稍微不同的语法:

SELECT gradecalc.StudentId,gradecalc.CourseCode, Total,
 CASE 
  WHEN total > 90 THEN 'AA'
  WHEN total < 90 AND total >= 85 THEN 'BA'
  WHEN total < 85 AND total >= 80 THEN 'BB'
  WHEN total < 80 AND total >=75 THEN 'CB'
  WHEN total < 75 AND total >=70 THEN 'CC'
  WHEN total < 70 AND total >=65 THEN 'DC'
  WHEN total < 65 AND total >=60 THEN 'DD'
  ELSE 'FF'
END AS Grade
FROM GRADECALC GROUP BY gradecalc.StudentId,gradecalc.CourseCode 

关于mysql - mysql时的使用案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30291604/

相关文章:

php - mysql_fetch_assoc 用 php 回显链接表结果

javascript - 对 MySQL 运行数据库查询后无法看到结果

mysql:用与前一行相同的数字更新增量序列号

php - Ajax和Mysql一键插入2同一行

Mysql 查询 select * 并且还包括 case when

php - 构建在线 php 游戏数据库。如何在 mySQL 数据库中查找 2 人之间的游戏

PHP 开关大小写 Url

mysql - 选择当时的情况(选择)

case - Verilog case 语句中的多个项目匹配

sql - TSQL:选择插入中的if语句