当前位置: 代码迷 >> Sql Server >> ,SQL根据车数分级
  详细解决方案

,SQL根据车数分级

热度:9   发布时间:2016-04-24 21:23:35.0
求助,SQL根据车数分级
根据一个用户信息表表,
 CREATE TABLE userinfo
(uid int IDENTITY (1, 1) not null,
userid varchar(11) null,
username varchar(200) null,
usermobile varchar(20) null,
cph varchar(20) null,
sxrname varchar(50) null,
sxrmobile varchar(20) null,
nextbydate datetime null,
nextbylc decimal(10) null,
gcdate datetime null,VIN varchar(30) null,
cartype varchar(30) null,
userpy varchar(100) null PRIMARY KEY (uid)
)
想根据username和usermobile相同的为客户分组统计有多少车(CPH),车数大于等于20台为A类,10-19为B类,3-9为C类,
想要 的结果为 
A类 数量,客户名称,数量
B类 数量,客户名称,数量
C类 数量,客户名称,数量
这样的结果..怎么能实现啊

------解决方案--------------------
SELECT 
CASE 
WHEN  b.amount>20 THEN 'A'
WHEN b.amount>10 AND  b.amount<19 THEN 'B'
WHEN b.amount>3 AND  b.amount<9 THEN 'C' 
ELSE
'无等级'
END
,b.username,b.usermobile,b.amount
FROM(SELECT u.username ,u.usermobile, COUNT(DISTINCT(cph)) AS amount FROM userinfo u
GROUP BY u.username ,u.usermobile)b
  相关解决方案