2021-09-28|閱讀時間 ‧ 約 2 分鐘

Laravel groupBy MIN() without ignore NULL

mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。
以下圖為例, 則會拿到2021-09-24 16:42:20。
實務上可能會遇到不想忽略NULL的情況, 解決方法如下:
-select( DB::raw('min(IFNULL(giveup_date, "1000-01-01 00:00:00")) AS min_giveup_date') ) -groupBy('customer_id')
這樣就會拿到1000-01-01 00:00:00了! 等於是把NULL替換成一個很小的datetime,且資料中確定沒這個值。
分享至
成為作者繼續創作的動力吧!
小弟是一位軟體工程師,樂於幫助他人,撰寫技術文章除了幫助自己複習以外,也希望可以幫助到他人,若文章內容有誤,還請大大不吝給予指教!
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言