如何实现多区间统计

sunny_hihi 2012-12-18 10:29:36
字段 线长
20
30
500
600
800
2200
2400
规则是统计出小于500有几个,在500和2000之间有几个,大于2000有几个,然后求和,烦请指导下如何实现
...全文
998 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunny_hihi 2013-01-04
  • 打赏
  • 举报
回复
问题己解决,谢谢
sunny_hihi 2012-12-19
  • 打赏
  • 举报
回复
效果实现啦 如果要加条件where in 应该加到那?
ACMAIN_CHM 2012-12-19
  • 打赏
  • 举报
回复
select iif(线长<=500,'500以内', iif(线长<=2000,'500至2000',iif(线长>2000,'大于2000',))),count(*) from table1 where id<1000 group by iif(线长<=500,'500以内', iif(线长<=2000,'500至2000',iif(线长>2000,'大于2000',)))
sunny_hihi 2012-12-18
  • 打赏
  • 举报
回复
在ACCESS中执行,提示语法错误(操作符丢失)是怎么回事
Mr_Nice 2012-12-18
  • 打赏
  • 举报
回复
select sum(case when 线长 <500 then 1 else 0 end ) as [<500],
sum(case when 500<=线长 <=2000 then 1 else 0 end ) as [500-2000],
sum(case when 线长 >2000 then 1 else 0 end ) as [>2000],
from TB
??
-晴天 2012-12-18
  • 打赏
  • 举报
回复
求和: select sum(case when 线长<500 then 线长 else 0 end) as [500以内], sum(case when 线长>=500 and 线长<=2000 then 线长 else 0 end)as[500至1000], sum(case when 线长>2000 then 线长 else 0 end) as [大于2000] from tb
-晴天 2012-12-18
  • 打赏
  • 举报
回复
select sum(case when 线长<500 then 1 else 0 end) as [500以内], sum(case when 线长>=500 and 线长<=2000 then 1 else 0 end)as[500至1000], sum(case when 线长>2000 then 1 else 0 end) as [大于2000] from tb
-晴天 2012-12-18
  • 打赏
  • 举报
回复
select sum(iif(线长<500,1,0)) as [500以内], sum(iif(线长>=500 and 线长<=2000,1,0))as[500至1000], sum(iif(线长>2000,1,0)) as [大于2000] from tb select sum(iif(线长<500,线长,0)) as [500以内], sum(iif(线长>=500 and 线长<=2000,线长,0))as[500至1000], sum(iif(线长>2000,线长,0)) as [大于2000] from tb
Mr_Nice 2012-12-18
  • 打赏
  • 举报
回复
引用 4 楼 corebkl 的回复:
在ACCESS中执行,提示语法错误(操作符丢失)是怎么回事
access 用iif 判断。语法要自己调一下

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧