先前對於集合函數的理解有誤

關於此篇站內文章內容理解有誤。

其實我不應該在if()函數裡使用count()函數,因為count()是集合函數,裡面的參數應該是代表所有的記錄,但if()函數代表的應該是一筆記錄,也就是說,如果在if()函數裡使用count()函數,那麼應該也只是那麼記錄的結果,而不是預期中所有記錄的結果。

因為我是要依據欄位的狀況來計算數量,所以我可以這麼改寫:sum(if(con,1,0))as col_name,先用if()函數判斷此筆記錄的條件,符合的話就是1,不符合就是0;其實,你也可以反過來寫,不符合的是1,符合的是0。接著再使用sum()函數合計所有的數字,這樣就可以按條件統計出所需要的數字了。

因為今天是7/1,剛好在月份交替之初,正是驗證前兩天所寫的前月份績效的判定的時機,也正好發現這個問題。不過奇怪的是,上個月寫此段程式時,當月份的點數部份數字竟然沒有問題,這是我理解錯誤,還是那時眼花沒發現?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *