码迷,mamicode.com
首页 > 其他好文 > 详细

group by 可以这样用

时间:2015-09-23 11:54:57      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:group by 复杂用法

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

group by 可以这样用

标签:group by 复杂用法

原文地址:http://charlist.blog.51cto.com/1616209/1697388

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!