GROUP BY 里可以包含case 语句的内容,在我看来,groupby 什么的都适配。。。
SELECT CASE WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1500‘ THEN ‘内蒙古自治区交通运输管理局‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1501‘ THEN ‘呼和浩特市交通运输管理局‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1502‘ THEN ‘包头市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1503‘ THEN ‘乌海市交通运输管理局‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1504‘ THEN ‘赤峰市运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1505‘ THEN ‘通辽市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1506‘ THEN ‘鄂尔多斯市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1507‘ THEN ‘呼伦贝尔市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1508‘ THEN ‘巴彦淖尔市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1509‘ THEN ‘乌兰察布市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1522‘ THEN ‘兴安盟交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1525‘ THEN ‘锡林郭勒盟运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1529‘ THEN ‘阿拉善盟交通运输管理‘
ELSE ‘其他‘
END AS 区域代码,
COUNT(*) as 车辆数量 from T_Vehicle
where VCLSTATE = ‘营运‘
GROUP BY
CASE WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1500‘ THEN ‘内蒙古自治区交通运输管理局‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1501‘ THEN ‘呼和浩特市交通运输管理局‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1502‘ THEN ‘包头市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1503‘ THEN ‘乌海市交通运输管理局‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1504‘ THEN ‘赤峰市运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1505‘ THEN ‘通辽市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1506‘ THEN ‘鄂尔多斯市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1507‘ THEN ‘呼伦贝尔市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1508‘ THEN ‘巴彦淖尔市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1509‘ THEN ‘乌兰察布市交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1522‘ THEN ‘兴安盟交通运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1525‘ THEN ‘锡林郭勒盟运输管理处‘
WHEN SUBSTRING(convert(varchar(MAX),ziparea),1,4) = ‘1529‘ THEN ‘阿拉善盟交通运输管理‘
ELSE ‘其他‘
END
order by 区域代码;
本文出自 “数据领域” 博客,请务必保留此出处http://charlist.blog.51cto.com/1616209/1697388
原文地址:http://charlist.blog.51cto.com/1616209/1697388