sql同一字段的多个条件的结果形成多列

惜花朝拾 发布于 2016/10/11 21:05
阅读 850
收藏 0

查询姓李的人的个数

查询姓王的人的个数

形成的结果如下:

姓王  姓李

 2       3

一个语句完成

加载中
1
魔力猫
魔力猫
很简单呀,看CASE WHEN 和 SUM
惜花朝拾
惜花朝拾
太感谢了啊
0
颓废的幻想者
颓废的幻想者
两个select 内层 select 需要用 case when 将所有姓名分两类 王 张 语法你百度。外层 group by。 count 即可。 用手机回复 写sql不方便
0
szwx855
szwx855

select case when a.name = 'wang' then '姓王' case when a.name= 'li' then ‘姓李' end name from (

select name,sum(val) from table group by name

)a



0
惜花朝拾
惜花朝拾

引用来自“szwx855”的评论

select case when a.name = 'wang' then '姓王' case when a.name= 'li' then ‘姓李' end name from (

select name,sum(val) from table group by name

)a



我现在是用hive查询:目的是统计不同uri的访问量,sql如下:

SELECT count(case when uri LIKE '/article/%' then uri else null end), --总pv
count(case when uri='/article/findPage/1' then uri else null end), --发现页pv
dt as datetime
from hdp_chinahr_defaultdb.ds_nginx_log WHERE host='api.op.chrdns.org'  AND logtype='op' and  dt>=${before_two_week} and dt<=${ysetd} GROUP BY dt 

但是对不同的uri统计出来之后没办法对列进行别名,我试了 as ‘总pv’ 会报错

返回顶部
顶部