最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

在Sql中统计某个区段值的小技巧

来源:懂视网 责编:小采 时间:2020-11-09 08:22:39
文档

在Sql中统计某个区段值的小技巧

在Sql中统计某个区段值的小技巧:欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 今天在帮客户做一些统计,需要按照某个区段对数据进行统计,于是上网搜索了一下,结果没有发现比较满意的,最接近的是 http://bbs.csdn.net/topics/70184424 中7楼的答案,但这个统计不能指
推荐度:
导读在Sql中统计某个区段值的小技巧:欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 今天在帮客户做一些统计,需要按照某个区段对数据进行统计,于是上网搜索了一下,结果没有发现比较满意的,最接近的是 http://bbs.csdn.net/topics/70184424 中7楼的答案,但这个统计不能指

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 今天在帮客户做一些统计,需要按照某个区段对数据进行统计,于是上网搜索了一下,结果没有发现比较满意的,最接近的是 http://bbs.csdn.net/topics/70184424 中7楼的答案,但这个统计不能指定区段

欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入

  今天在帮客户做一些统计,需要按照某个区段对数据进行统计,于是上网搜索了一下,结果没有发现比较满意的,最接近的是 http://bbs.csdn.net/topics/70184424 中7楼的答案,但这个统计不能指定区段,于是自己琢磨了一下,写了这么个语句:

  declare @tb table(id int identity(1,1),num int)

  insert into @tb(num) values(1),(10),(20),(25),(12),(15),(13),(22),(5),(50),(80),(110)

  select count(*),overall,over10,over20,over50,over100 from (select 1 as overall,convert(bit,num/10) as over10,convert(bit,num/20) as over20,convert(bit,num/50) as over50,convert(bit,num/100) as over100 from @tb) as a group by overall,over10,over20,over50,over100

  我是根据每一个指定的区段进行一次比值,并将起转换成bit类型,这样得到的结果要么是符合条件1,要么是不符合区段0,然后在整个group就可以得到结果了

  当然,我没有把统计得到的区段也方到sql里,于是修改一下Sql指令

  declare @tb table(id int identity(1,1),num int)

  insert into @tb(num) values(1),(10),(20),(25),(12),(15),(13),(22),(5),(50),(80),(110)

  select N'scope'=(case(overall+over10+over20+over50+over100) when 1 then '0-9' when 2 then '10-19' when 3 then '20-49' when 4 then '50-99' else '100+' end),count(*) from (select 1 as overall,convert(bit,num/10) as over10,convert(bit,num/20) as over20,convert(bit,num/50) as over50,convert(bit,num/100) as over100 from @tb) as a group by (overall+over10+over20+over50+over100)

  这样,就得到了我们所需要的区段统计了

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

在Sql中统计某个区段值的小技巧

在Sql中统计某个区段值的小技巧:欢迎进入Windows社区论坛,与300万技术人员互动交流 >>进入 今天在帮客户做一些统计,需要按照某个区段对数据进行统计,于是上网搜索了一下,结果没有发现比较满意的,最接近的是 http://bbs.csdn.net/topics/70184424 中7楼的答案,但这个统计不能指
推荐度:
标签: 一个 技巧 使用的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top