1.对当前工资为30万日元以上的员工,降薪10%:2.对当前工资为25万日元以上且不满28万日元的员工,加薪20% update salaries set salary = case when salary >=300000 then salary*0.9 when salary >=250000 and salary<280000 then salary *1.2 else salary end;…
背景:最近用到统计之类的复杂Sql比较多,有种"提笔忘字"的感觉,看书练习,举一反三,巩固加强. (一) <SQL进阶教程>学习记录--CASE (二) <SQL进阶教程>学习记录--GROUP BY.PARTITION BY 1.语法 两种写法:简单 CASE 表达式(simple case expression).搜索 CASE 表达式(searched case expression) -- 简单 CASE 表达式 CASE sex WHEN '1' TH…
select case when sex = 1 then '男性' else '女性' end as '性别', sum(case when name='哈尔滨' THEN population else 0 end) as '哈尔滨', sum(case when name='大庆' then population else 0 end) as '大庆', sum(case when name='齐齐哈尔' then population else 0 end) as '齐齐哈尔', sum…
进行不同条件的统计是case表达式的著名用法之一 select name,sum(case when sex = 1 then population else 0 end) as cnt_m,sum(case when sex = 2 then population else 0 end) as cnt_ffrom city_population_copygroup by name 实现了行转列…
SQL 权威指南SQL 解惑在进行非定制化统计时,需要将已有编号方式转换为另外一种便于分析的方式进行统计需求 select case when name='哈尔滨' then '黑龙江' when name='大庆' then '黑龙江' when name='齐齐哈尔' then '黑龙江' when name='长春' then '吉林' when name='吉林' then '吉林' when name='沈阳' then '辽宁' when name='大连' then '辽宁' wh…