获得省市区的统计信息

问题描述:

获取各个省市的统计信息

,如 浙江省,则需要获取省市区的所有统计信息,如浙江省+浙江省下所有的市+浙江省下所有的市下的所有区


杭州市,则需要获取杭州市+杭州市下所有区的统计信息


滨江区,则获取滨江区的统计信息,


思路:获取所有的省市区的信息 + 省的统计数据+市的统计数据,做关联查询,因为设定省市区的为模式为下划线_  如  浙江省_宁波市_北仑区

所有判断下划线的个数来读取哪个统计数量

实例代码如下


浙江省_宁波市_北仑区



SELECT c2.city ,
case CHAR_LENGTH(c2.city)-CHAR_LENGTH(REPLACE(c2.city,'_',''))
when 0 THEN c1.amount
when 1 THEN c3.amount
when 2 then c2.amount else ''   end amount

from
(
    select count(0) amount, '浙江省' city
    from fm_sample s
    where s.data_status=0
) c1
right JOIN
(
    select
    (select u.precinct_name from sys_unit u where u.id=s.sample_audit_unit_id) city,
    count(0) amount
    from fm_sample s
    where s.data_status=0
    GROUP BY city
) c2 on c1.city=c2.city
LEFT JOIN
(
    select
    (select back_province_city_func(u.precinct_name) from sys_unit u where u.id=s.sample_audit_unit_id) city,
    count(0) amount
    from fm_sample s
    where s.data_status=0
    GROUP BY city
) c3 on c2.city=c3.city



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值