【发布时间】:2013-05-28 12:32:46
【问题描述】:
select to_char(T_12895_DET_ENTERED_DATE,'yyyy-mm') as entered_date,
CASE
when T_12916_VIA = 'E' then 'Internet'
when T_12916_VIA = 'R' then 'Store'
when (T_12916_VIA in ('M','F','P') or T_12916_VIA is null) then 'All Others'
end as VIA_CODE,
count(*)
from cmlbrc.applicants
where to_char(T_12895_DET_ENTERED_DATE,'yyyy') >= '2010'
group by to_char(T_12895_DET_ENTERED_DATE,'yyyy-mm'), T_12916_VIA
order by 1,2;
上面的代码给了我多行作为 yyyy-mm 的输出。为什么“所有其他人”不能组合成一排? 2010-05 所有其他 278 2010-05 所有其他 975 2010-05 所有其他 223 2010-05 互联网 5124 2010-05 19641店
谢谢 丹
【问题讨论】:
-
因为您是按
T_12916_VIA分组的,它包含'E', 'R', 'M', 'F', 'P'的值,并且记录在这些分组上。您需要将其包装在另一个 select 语句中,然后按 via_code 分组,请参阅this example -
请使用更好的英语。问题很难理解。
标签: sql