首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

Sql Server怎么进行区间统计

2012-09-16 
Sql Server怎样进行区间统计?我有一个有2000000行的表:snvalue11.225.433.842.957.666.571.988.294.3103.2

Sql Server怎样进行区间统计?
我有一个有2000000行的表:

sn value  

1 1.2  

2 5.4  

3 3.8  

4 2.9  

5 7.6  

6 6.5  

7 1.9  

8 8.2  

9 4.3  

10 3.2  

11 9.4  

12 5.3  

13 2.1  

14 7.4  

15 5.5  

16 4.9  

17 8.1  

…… ……  

1999999 4.9  

2000000 7.2  

里面的value是介于1-10之间的数字,怎样进行一个Sql查询得到一个如下表的汇总?

Region Count  

1-2 178824  

2-3 188113  

3-4 145221  

4-5 324520  

5-6 210515  

6-7 292654  

7-8 289411  

8-9 176141  

9-10 194601  

即统计出Value值分别>=1-<2,>=2-<3,>=3-<4……>=8-<9,>=9-<10之间的个数。

[解决办法]
如果只有10个区间就好办咯,下面这个不断union all就可以拉

SQL code
SELECT '1-2' ,COUNT(1) AS countFROM tablename WHERE VALUE >= 1 AND VALUE< 2UNION ALL
[解决办法]
太简单了,一句话搞定
SQL code
select convert(varchar(2),[value]%10)+'-'+convert(varchar(2),[value]%10+1) Region,count(*) Count from [你的表]group by [value]%10
[解决办法]
SQL code
SELECT LEFT(value,1)+'-'+LEFT(value+1,1),COUNT(*)FROM t1GROUP BY LEFT(value,1)+'-'+LEFT(value+1,1) 

热点排行