关于SQL统计数值范围内人数的问题(工资范围,年龄范围)

本篇博客解决的问题是SQL统计范围人数的问题。

比如统计0-3000,3000-4000,4000-5000.....等工资段的人数

或者统计0-60,60-70,70-80,80-90,90-100每个分数段的人数

类似这种问题的SQL解决方法

我们先通过一个例子来了解以下:

首先我们建一张表,名user如下

idusernamemoney
1张三100
2李四300
3王五900
4老六400
5七妹8000
6小八1000
7老九1200

 

我们来统计money在区间  0-500,500-1000,1000-1500每个段的人数:

查询语句格式是这样的

select 
count(case when money BETWEEN 0 AND 500 THEN 1 END) as '0-500',
count(case when money BETWEEN 501 AND 1000 THEN 2 END) as '500-1000',
count(case when money BETWEEN 1001 AND 1500 THEN 3 END) as '1000-1500'
FROM user

解析一下:

每一个count都是求一个分段,as是给分段一个别名

 拿一个语句刨析一下里边的意思 count(case when money BETWEEN 0 AND 500 THEN 1 END)as '0-500'

case when 条件 Then 成立的话怎样  END

在这里是money在0-500之间,你可以自己按需求来写条件语句。每条语句的then尽量保持不一样

最后from user 查询 user表

四不四很简单

查询结果为

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值