mysql中case when 用于分类求和

假设有张学生成绩表(CJ)如下 
[姓名] [学科] [成绩] 
张三 语文 80 
张三 数学 90 
张三 物理 85 
李四 语文 85 
李四 数学 92 
李四 物理 82 
王五 数学 60

想变成 
[姓名] [语文] [数学] [物理] 
张三 80 90 85 
李四 85 92 82 
王五 null 60 null

select 姓名,
sum(case 学科 when ‘语文‘ then 成绩 end) as 语文,
sum(case 学科 when ‘数学‘ then 成绩 end) as 数学,
sum(case 学科 when ‘物理‘ then 成绩 end) as 物理
from cj group by 姓名

mysql中case when 用于分类求和

时间: 2024-10-12 21:02:40

mysql中case when 用于分类求和的相关文章

mysql中 case when的使用

SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b.hsarea1, b.hsrealarea1, b.hsusage, b.hsprice, b.hsstatus,sum(CASE WHEN b.hsrealarea1 >0THEN b.hsrealarea1ELSE b.hsarea1END)  as c , c.xzarea, c.lpmc,

MySQL中CASE的使用

语法说明: 方式一: CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END 方式二: CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 使用演示样例: mysql> select id,name, (gender) as '性别

mysql 中 case when then .... else end 的简单使用

数据SQL CASE 表达式是一种通用的条件表达式,类似于其它语言中的 if/else 语句. CASE WHEN condition THEN result WHEN condition THEN result ............. [WHEN ...]  [ELSE result] END CASE 子句可以用于任何表达式可以有效存在的地方. condition 是一个返回boolean 的表达式. 如果结果为真,那么 CASE 表达式的结果就是符合条件的 result. 如果结果为假

MySql 中 case when then else end 的用法

便于理解,直接上例子: SELECT                case                   -------------如果    when sex='1' then '男' -------------sex='1',则返回值'男'    when sex='2' then '女' -------------sex='2',则返回值'女'      else 0                 -------------其他的返回'其他'    end            

mysql中case使用

前言:遇到这样一个需求,有一门成绩,成绩中只记录了学生的分数,现在需要统计学生的分数等级,100-90分为优秀,90-60分为及格,60-0分为不及格.这个需求就可以用CASE语句来表达. case语句分为简单case语句和可搜索case语句. 1.简单case的语法为 CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands E

MySQL中case then用法

1.查询图书价格,若价格为null,则显示unknown,若价格为10到20, 则显示10 to 20 SELECT price, CASE WHEN price='null' THEN 'UnKnow' WHEN price>10 and price<20 then '10 to 20' END FROM book; 2. select name, case when birthday<'1981' then 'old' when birthday>'1988' then 'yo

mysql中case用法

如上所述,使用case的子句将作为一个字段,方便起见,可以用别名表示.其中,when是case的条件,值为then的表达式值. 参考: http://www.owe-love.com/myspace/?action=show&id=188

mysql中case的一个例子

最近遇到一个问题: year amount num 1991 1 1.1 1991 2 1.2 1991 3 1.3 1992 1 2.1 1992 2 2.2 1992 3 3.3 把上面表格的数据查询成: year m1 m2 m3 1991 1.1 1.2 1.3 1992 2.1 2.2 2.3 看到这样的需求,首先想到的是用case去统计以及 用group by来分组 第一版sql代码: SELECT `year`, (CASE WHEN amount = 1 THEN num END

云计算学习路线图素材、课件,msyql中CASE WHEN语法

在本篇文章中将给大家讲解下msyql中CASE WHEN语法: MySQL中case when语句,用于计算条件列表并返回多个可能表达式之一. CASE具有两种格式:简单CASE函数将某个表达式与一组简单表达式进行比较以确定结果.CASE搜索函数计算一组布尔表达式以确定结果.两种都支持可选的ELSE函数. 1)简单CASE函数语法如下: CASE input_expression WHEN when_expression THEN result_expression [...n ] [ ELSE