对数据按照范围进行分组查询

ALTER PROC [dbo].[pro_GetE2ERange]
    @GSC varchar(20)='',
    @cluster varchar(100)='',
    @Team varchar(100)='',
    @BA varchar(100)='' 
    
AS

    SELECT 
       CASE WHEN CAST(E2E AS float)/24.0<=1 THEN '<= 1'
           WHEN CAST(E2E AS float)/24.0>1 AND CAST(E2E AS float)/24.0<=2 THEN '<= 2'
           WHEN CAST(E2E AS float)/24.0>2 AND CAST(E2E AS float)/24.0<=3 THEN '<= 3'
           WHEN CAST(E2E AS float)/24.0>3 AND CAST(E2E AS float)/24.0<=4 THEN '<= 4'
           WHEN CAST(E2E AS float)/24.0>4 AND CAST(E2E AS float)/24.0<=5 THEN '<= 5'
           WHEN CAST(E2E AS float)/24.0>5 AND CAST(E2E AS float)/24.0<=6 THEN '<= 6'
           WHEN CAST(E2E AS float)/24.0>6 AND CAST(E2E AS float)/24.0<=7 THEN '<= 7'
           WHEN CAST(E2E AS float)/24.0>7 AND CAST(E2E AS float)/24.0<=8 THEN '<= 8'
           WHEN CAST(E2E AS float)/24.0>8 AND CAST(E2E AS float)/24.0<=9 THEN '<= 9'
           WHEN CAST(E2E AS float)/24.0>9 AND CAST(E2E AS float)/24.0<=10 THEN '<=10 '
           WHEN CAST(E2E AS float)/24.0>10 AND CAST(E2E AS float)/24.0<=11 THEN '<=11 '
           WHEN CAST(E2E AS float)/24.0>11 AND CAST(E2E AS float)/24.0<=12 THEN '<=12 '
           WHEN CAST(E2E AS float)/24.0>12 AND CAST(E2E AS float)/24.0<=13 THEN '<=13 '
           WHEN CAST(E2E AS float)/24.0>13 AND CAST(E2E AS float)/24.0<=14 THEN '<=14 '
           WHEN CAST(E2E AS float)/24.0>14 AND CAST(E2E AS float)/24.0<=15 THEN '<=15 '
           WHEN CAST(E2E AS float)/24.0>15 THEN '>15'
        END  E2ERange,count(*) NUM
         
     FROM ReportView WHERE
     
     GSC LIKE CASE 
     WHEN @gsc='' THEN '%%'
     ELSE @gsc
     END
     
     AND 
     
     Cluster LIKE CASE
     WHEN @cluster='' then '%%'
     ELSE @cluster
     end
     
     AND
     
     team like case
     when @team='' then '%%'
     else @team
     end
     
     and
     
     BA like case
     when @ba='' then '%%'
     else @ba
     end 
     
     GROUP BY  
          CASE WHEN CAST(E2E AS float)/24.0<=1 THEN '<= 1'
           WHEN CAST(E2E AS float)/24.0>1 AND CAST(E2E AS float)/24.0<=2 THEN '<= 2'
           WHEN CAST(E2E AS float)/24.0>2 AND CAST(E2E AS float)/24.0<=3 THEN '<= 3'
           WHEN CAST(E2E AS float)/24.0>3 AND CAST(E2E AS float)/24.0<=4 THEN '<= 4'
           WHEN CAST(E2E AS float)/24.0>4 AND CAST(E2E AS float)/24.0<=5 THEN '<= 5'
           WHEN CAST(E2E AS float)/24.0>5 AND CAST(E2E AS float)/24.0<=6 THEN '<= 6'
           WHEN CAST(E2E AS float)/24.0>6 AND CAST(E2E AS float)/24.0<=7 THEN '<= 7'
           WHEN CAST(E2E AS float)/24.0>7 AND CAST(E2E AS float)/24.0<=8 THEN '<= 8'
           WHEN CAST(E2E AS float)/24.0>8 AND CAST(E2E AS float)/24.0<=9 THEN '<= 9'
           WHEN CAST(E2E AS float)/24.0>9 AND CAST(E2E AS float)/24.0<=10 THEN '<=10 '
           WHEN CAST(E2E AS float)/24.0>10 AND CAST(E2E AS float)/24.0<=11 THEN '<=11 '
           WHEN CAST(E2E AS float)/24.0>11 AND CAST(E2E AS float)/24.0<=12 THEN '<=12 '
           WHEN CAST(E2E AS float)/24.0>12 AND CAST(E2E AS float)/24.0<=13 THEN '<=13 '
           WHEN CAST(E2E AS float)/24.0>13 AND CAST(E2E AS float)/24.0<=14 THEN '<=14 '
           WHEN CAST(E2E AS float)/24.0>14 AND CAST(E2E AS float)/24.0<=15 THEN '<=15 '
           WHEN CAST(E2E AS float)/24.0>15 THEN '>15'
        END order by e2erange 

 

转载于:https://www.cnblogs.com/fly0236/p/3245895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值