Vapriest

1 IF 函数

if (条件判断,符合条件值,不符合条件值)

2 case 函数

  • case函数使用1,switch case的效果
case 要判断的字段或者表达式
when 常量1 then 要显示的值1或者语句1;
when 常量2 then 要显示的值1或者语句2;
else 要显示的值n或者语句n;
end
  • 上述方式,常量对应case后面的字段或表达式,when后面是一个量,将常量与case后面的字段进行比较。而下述方式,when后面直接跟条件进行判断。
  • case 函数使用2: 多重if
case
when 条件1 then 要显示的值或者语句
else 要显示的值或者语句
end

case when 与group by 的连用

  • 两者连用可以实现行列转置
    现有如下一张表 sc

现在想把它转置,形成如下表

sid cid_01 cid_02 cid_03
01 80 90 99
02 ... ... ...
select sid, 
            MAX(case when cid = \'01\' then score else null end) 科目1,
	    MAX( case when cid = \'02\' then score else null end) 科目2,
	    MAX( case when cid = \'03\' then score else null end) 科目3				
from sc
GROUP BY sid

查询结果如下所示

分类:

技术点:

相关文章:

  • 2021-08-16
  • 2021-11-23
  • 2021-09-16
  • 2021-06-04
  • 2021-12-10
  • 2021-08-07
  • 2021-09-19
  • 2021-04-17
猜你喜欢
  • 2021-11-04
  • 2021-11-28
  • 2022-01-19
  • 2021-11-04
  • 2021-10-04
  • 2021-08-05
  • 2018-01-23
相关资源
相似解决方案