分段统计!
数据表Table1信息: 
 客户编号   理赔数量   销售数量   理赔率 
 0035	5	0	5 
 0088	37	0	37 
 0059	1	0	1 
 ...                  ...                  ...                  ... 
 要求结果: 
 范围               客户数量      总理赔数   总销售数 
 0-5	7	12	0 
 5-10	1	5	0 
 10-15	2	20	0 
 15-20	1	18	0 
 说明:如果销售数量为0,则按1处理。 
 使用方法: 
 DECLARE   @p   INT 
 SET   @p=5 
 SELECT      RTRIM(p*@p)+ '- '+RTRIM((p+1)*@p)   as    '范围 ' 
                      ,COUNT(*)   AS    '经销商数量 ' 
                      ,SUM(T1.LP)   AS    '理赔数 ' 
                      ,SUM(T1.Sale)   AS    '销售量 ' 
 FROM 
 	(SELECT      T1.CUSID 
                                     ,COUNT(TYRNO)   AS    'LP ' 
                                     ,ISNULL(SUM(Amount),0)   AS    'Sale ' 
 			,(COUNT(TYRNO)/(CASE   ISNULL(SUM(Amount),0)   WHEN   0   THEN   1   ELSE   ISNULL(SUM(Amount),0)   END))/@p   AS   p 
 	FROM   CTVBI   T1   INNER   JOIN    
 		   CTVDI   T2   ON   T1.CSTID=T2.CSTID   LEFT   JOIN 
 		   CTBAD   T3   ON   T1.CUSID=T3.CUSID   LEFT   JOIN 
                            tb_CS_SaleAmount   T4   ON   T3.CUSID=T4.CustomerID 
 	WHERE   T2.Atype= '01 '       
 	GROUP   BY   T1.CUSID)   T1    
 WHERE   T1.p   > =0   AND   T1.p <=6 
 GROUP   BY   T1.p   
 问题: 
 1、临界值统计不对,例如:0-5,如果理赔率为5,则此数据不在统计之内? 
 2、范围缺少,如果理赔率在20-25之间不存在数据,则此范围不显示,要求显示,合计值均为0? 
 3、统计要求理赔率在30%以上的做一类处理,不知道如何实现? 
------解决方案--------------------1、临界值统计不对,例如:0-5,如果理赔率为5,则此数据不在统计之内? 
    ----统计条件加上 and  ISNULL(SUM(Amount),0) END))/@p <> 0 or ISNULL(SUM(Amount),0) END))=0   
 2、范围缺少,如果理赔率在20-25之间不存在数据,则此范围不显示,要求显示,合计值均为0? 
    ----必须预先定义好样式,再左连你的结果   
 3、统计要求理赔率在30%以上的做一类处理,不知道如何实现? 
    ----大