MySQL累计和分类(示例随记,仅供参考)

38 篇文章 0 订阅
36 篇文章 0 订阅
SELECT case when B.女人数 is null then  A.女人数
 when B.女人数 is  not null  then (A.女人数- B.女人数)  end  贫困人口女性总数  ,
 case when B.男人数 is null then  A.男人数
 when B.男人数 is  not null  then (A.男人数- B.男人数)  end  贫困人口男性总数  ,
 A.年份  from 
( SELECT
	c.女总建档立卡人数,
	c.男总建档立卡人数,
	c.年份,
	c.sex,
	@i:=@i+c.女总建档立卡人数 AS 女人数 ,
		@l:=@l+c.男总建档立卡人数 AS 男人数 
FROM
	(
	SELECT
	count( if (sex='女',person_code,NULL)) 女总建档立卡人数,
		count( if (sex='男',person_code,NULL))男总建档立卡人数,
		LEFT ( filing_time, 4 ) 年份,
		sex
	FROM
		jzfp_poverty_info 
	GROUP BY
		LEFT ( filing_time, 4 )  order by 	年份
	) c,
	( SELECT @i:=0 ) d,( SELECT @l:=0 ) e ) A left JOIN 
(SELECT
	c.女脱贫人数,
	c.男脱贫人数,
	c.年份,
	c.sex,
	@m:=@m+c.女脱贫人数 AS 女人数 ,
	@j:=@j+c.男脱贫人数 AS 男人数 
FROM
	(
	SELECT
		count( if (sex='女',person_code,NULL))女脱贫人数 ,
		count( if (sex='男',person_code,NULL)) 男脱贫人数,
		LEFT ( overcome_poverty_year, 4 ) 年份,
		sex
	FROM
		jzfp_poverty_info 
	WHERE
		overcome_poverty_year IS NOT NULL 
	GROUP BY
		LEFT ( overcome_poverty_year, 4 )  order by 	年份
	) c,
	( SELECT @m:=0 ) d,( SELECT @j:=0 ) e)  B  on A.年份=B.年份   and   A.sex=B.sex
select 
count(IF(cultural_level = '文盲或半文盲' ,person_code,NULL))  "文盲或半文盲",
count(IF(student_status = '学前教育' or  student_status = '学龄前儿童' ,person_code,NULL))  "学前教育",
count(IF(cultural_level = '小学' or  student_status = '小学' ,person_code,NULL))  "小学",
count(IF(cultural_level = '高中'  or cultural_level = '初中' or  student_status = '七年级' or  student_status = '八年级' or  student_status = '九年级'  or  student_status like '普通高中%',person_code,NULL))  "中学",
count(IF(cultural_level = '大专' or student_status REGEXP '^[高职|中职|技师]',person_code,NULL))  "专科",
count(IF(cultural_level = '本科及以上' or student_status REGEXP '^[本科|硕士研究生及以上]' ,person_code,NULL))  "本科及以上"
from jzfp_poverty_info;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值