select
case
when b.女人數 is
null
then a.女人數
when b.女人數 is
notnull
then
(a.女人數- b.女人數)
end 貧困人口女性總數 ,
case
when b.男人數 is
null
then a.男人數
when b.男人數 is
notnull
then
(a.男人數- b.男人數)
end 貧困人口男性總數 ,
a.年份 from
(select
c.女總建檔立卡人數,
c.男總建檔立卡人數,
c.年份,
c.***,
@i:=
@i+c.女總建檔立卡人數 as 女人數 ,
@l:=
@l+c.男總建檔立卡人數 as 男人數
from
(select
count(if
(***=
'女',person_code,
null
)) 女總建檔立卡人數,
count(if
(***=
'男',person_code,
null
))男總建檔立卡人數,
left
( filing_time,
4) 年份,
***from
jzfp_poverty_info
group
byleft
( filing_time,4)
order
by 年份
) c,
(select
@i:=
0) d,
(select
@l:=
0) e ) a left
join
(select
c.女脫貧人數,
c.男脫貧人數,
c.年份,
c.***,
@m:=
@m+c.女脫貧人數 as 女人數 ,
@j:=
@j+c.男脫貧人數 as 男人數
from
(select
count(if
(***=
'女',person_code,
null
))女脫貧人數 ,
count(if
(***=
'男',person_code,
null
)) 男脫貧人數,
left
( overcome_poverty_year,
4) 年份,
***from
jzfp_poverty_info
where
overcome_poverty_year is
notnull
group
byleft
( overcome_poverty_year,4)
order
by 年份
) c,
(select
@m:=
0) d,
(select
@j:=
0) e) b on a.年份=b.年份 and a.***=b.***
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;
mysql 累計和 MySQL 生成累計和
備註 測試資料庫版本為mysql 8.0 如需要scott使用者下建表及錄入資料語句,可參考 scott建表及錄入資料sql指令碼 一.需求 計算某個列中所有值的累計和 比如,經常遇到的業務需求就是領導需要看每個月的銷售額,已經累計到當月的銷售額。解決方案 下面給出了一種解決方案,它展示了如何計算所...
MySQL約束和分類
約束的種類 按約束範圍分類 非空約束,唯一約束,主鍵,外來鍵都既可以是表級約束,有可以是列級約束 default屬於列級約束 建表時 create table t user id int primary key auto increment,name varcahr 32 not null 對現有表...
mysql中對比月 mysql 僅按月和日比較日期
我的foos表中有日期欄位.所以現在我需要從日期間隔中選擇所有foo,但僅比較月份和日期.例如,我需要選擇2012年1月7日之前和之後10天的所有foo 12月28日 1月17日或2009年7月10日左右的一周 7月3日至7月17日.應僅根據全年的月份和日期進行選擇.我原始的解決方案 select ...