1.根据不同条件统计各个条件的总数
select dwbh,
sum(case when a.fscs>=0 and a.fscs<=5 then 1 else 0 end) A,
sum(case when a.fscs>=6 and a.fscs<=10 then 1 else 0 end) B,
sum(case when a.fscs>10 then 1 else 0 end) C
from pssc.T_J_JG a
group by a.dwbh
2.decode函数使用
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。
需要注意的是,这里的if、then及else 都可以是函数或计算表达式。
3.coalesce函数
COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值
4.full join 3表关联使用
tableA
1 黄谦
2 李四
7 王五
9 李青
tableB
1 内江
2 上海
3 成都
8 北京
tableC
1 攻城狮
3 学生
6 老师
7 医生
想实现效果:
1 黄谦 内江 攻城狮
2 李四 上海
3 成都 学生
6 老师
7 王五 医生
8 北京
9 李青
sql:
select coalesce(a.id,b.id,c.id) id,a.name,b.city,c.zy
from A
full join B
on a.id=b.id
full join C
on a.id=c.id or b.id=c.id