今天遇到乙個以前沒見過的問題,需要對月份進行判斷,然後進行乙個求和操作,自己以前沒有遇到過此類問題,所以在群裡詢問了各類大佬,最後終於解決了問題,雖然不是很難,但是也學到的新的東西,在此做乙個記錄。
好了,言歸正傳,上問題!
篩選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判斷開始...