pg

sql casewhen函数,列转行

2022-07-20  本文已影响0人  饱饱想要灵感
  1. 简单查询, 类似switch-case
CASE sex
WHEN '1' THEN '男'
WHEN '0' THEN '女'
ELSE '其他' END
  1. 复杂查询, 类似if-else, pg的case when null实现需采取此用法
CASE WHEN sex = '1' THEN '男'
WHEN sex <>  '0' THEN '非女'
ELSE '其他' END
  1. 构造列转行, 分类统计, 即case-when外面再套一个统计函数
select sum(case when score >= 90 then 1 else 0 end) as 优秀人数,
sum(case when score < 90 then 1 else 0 end) as 不优秀人数,
sum(case when score is null then 1 else 0 end) as 未统计人数,
count(*) as 总人数
from user;
上一篇下一篇

猜你喜欢

热点阅读