首页 > 数据库技术 > 详细

sql server统计字段的值在某些范围内中的个数

时间:2016-04-09 18:45:04      阅读:303      评论:0      收藏:0      [点我收藏+]

有一张表test如下:

create table test
(
id int identity(1,1) primary key,
num int 
)

 

插入数据:

技术分享
insert into test( num) values (1);
insert into test( num) values (2);
insert into test( num) values (8);
insert into test( num) values (15);
insert into test( num) values (12);
insert into test( num) values (13);
insert into test( num) values (14);
insert into test( num) values (16);
insert into test( num) values (17);
insert into test( num) values (5);
insert into test( num) values (6);
insert into test( num) values (7);
insert into test( num) values (16);
insert into test( num) values (18);
insert into test( num) values (9);
insert into test( num) values (10);
insert into test( num) values (11);
insert into test( num) values (12);
insert into test( num) values (19);
insert into test( num) values (20);
insert into test( num) values (3);
insert into test( num) values (4);
insert into test( num) values (19);
insert into test( num) values (20);
insert into test( num) values (17);
insert into test( num) values (18);
View Code

 

问题:请用一条sql语句查询 统计出num在 1~6,  10~17,  19~20 这三个范围内的个数分别是多少?

 

解法如下:

select 
COUNT (case when num between 1 and 6 then 1 end ) as [1-6],
COUNT( case when num between 10 and 17 then 2 end ) as [10-17],
COUNT (case when num between 19 and 20 then 3 end ) as [19-20]
from test

 

如果问题是问1~5, 6~10,11~15这样成倍数(有规律)的话,则可以这样写:

select COUNT(*) from test group by num/5

 

sql server统计字段的值在某些范围内中的个数

原文:http://www.cnblogs.com/527289276qq/p/5372172.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!