读书人

Sql Server怎么进行区间统计

发布时间: 2012-09-16 17:33:17 作者: rapoo

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) 

读书人网 >SQL Server

热点推荐