当前位置: 代码迷 >> Sql Server >> 新人请问,请教这个SQL语句应该如何写
  详细解决方案

新人请问,请教这个SQL语句应该如何写

热度:28   发布时间:2016-04-24 21:06:42.0
新人请教,请问这个SQL语句应该怎么写?
公司名 company_name;
客户类型 type; 1-至尊VIP 2-普通VIP 3-会员 4-游客;
加入时间 inserttime;

现在我想知道每间公司在某一时间段(例如2013-1-1至2013-2-1)内每种类型新加入客户的总数;
最终实现的效果如下:
公司名   客户类型1   客户类型2   客户类型3   客户类型4

请问语句怎么写?谢谢大家了

------解决方案--------------------
select company_name,case when 客户类型=1 then 1 else 0 end as 客户类型1,
case when 客户类型=2 then 1 else 0 end as 客户类型2,
case when 客户类型=3 then 1 else 0 end as 客户类型3,
case when 客户类型=4 then 1 else 0 end as 客户类型4,
COUNT(*) as 总数
from tb
where inserttime between StartTime and EndTime
group by company_name

------解决方案--------------------
漏写了函数,补:
select company_name,sum(case when 客户类型=1 then 1 else 0 end) as 客户类型1,
sum(case when 客户类型=2 then 1 else 0 end) as 客户类型2,
sum(case when 客户类型=3 then 1 else 0 end) as 客户类型3,
sum(case when 客户类型=4 then 1 else 0 end) as 客户类型4,
COUNT(*) as 总数
from tb
where inserttime between StartTime and EndTime
group by company_name
  相关解决方案