MySQL累計和分類(示例隨記,僅供參考)

2021-10-24 20:28:11 字數 2811 閱讀 7987

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 ...