MySQL的判斷語句的累加操作

2021-10-03 18:55:28 字數 2252 閱讀 7690

今天遇到乙個以前沒見過的問題,需要對月份進行判斷,然後進行乙個求和操作,自己以前沒有遇到過此類問題,所以在群裡詢問了各類大佬,最後終於解決了問題,雖然不是很難,但是也學到的新的東西,在此做乙個記錄。

好了,言歸正傳,上問題!

篩選xx表   a類+四大領域+1-上個月稅後應收彙總
在這個問題中,需要根據當前月份進行判斷,然後將1到該月的資料進行累加彙總操作。

所以此問題的解決方法如下:

select

case

when

month

(current_date()

)=1then ifnull(

sum(a.january),0

)when

month

(current_date()

)=2then ifnull(

sum(a.january+a.february),0

)when

month

(current_date()

)=3then ifnull(

sum(a.january+a.february+a.march),0

)when

month

(current_date()

)=4then ifnull(

sum(a.january+a.february+a.march+a.april),0

)when

month

(current_date()

)=5then ifnull(

sum(a.january+a.february+a.march+a.april+a.may),0

)when

month

(current_date()

)=6then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june),0

)when

month

(current_date()

)=7then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june+a.july),0

)when

month

(current_date()

)=8then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june+a.july+a.august),0

)when

month

(current_date()

)=9then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june+a.july+a.august+a.september),0

)when

month

(current_date()

)=10then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june+a.july+a.august+a.september+a.october),0

)when

month

(current_date()

)=11then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june+a.july+a.august+a.september+a.october+a.november),0

)when

month

(current_date()

)=12then ifnull(

sum(a.january+a.february+a.march+a.april+a.may+a.june+a.july+a.august+a.september+a.october+a.november+a.december),0

)else

0end

from project a

where a.

type

='a'

and a.

`year`=

'2020'

在該語句中,通過case when操作判斷該月份為第幾個月,然後加上對應的月份,最後通過sum求和得到結果。

同時通過ifnull來判斷列是否為null,如何為null則返回0,進行乙個判空處理。

JS的判斷語句 判斷 迴圈

判斷 條件成立做什麼 條件不成立做什麼 1 if else 2 三元運算子 簡單判斷時用的 1 如果處理的事情比較多,我們用括號包起來,每一件事情用逗號分隔 2 如果不需要處理事情,可以使用null undefined佔位 a 0 a 20?a console.log a null 語法 條件?條件...

命令執行的判斷語句( )

不考慮命令相關性的連續命令執行 cmd1 cmd2 分號前的命令執行完之後會立即執行分號後的命令。考慮到命令之間的關聯性 比如想要在某個目錄下面新建乙個檔案,當該目錄存在時,才建立 如果不存在,就不建立。這時兩個命令是有關聯性的,前乙個命令是否成功執行與後乙個命令是否執行有關。需要借助 命令回傳碼的...

Python中的if判斷語句

if語句是用來進行判斷的,其使用格式如下 if 要判斷的條件 條件成立時,要做的事情 案例 age 30 print if判斷開始 if age 18 print 我已經成年了 print if判斷結束 執行結果 if判斷開始 我已經成年了 if判斷結束 案例 age 16 print if判斷開始...