Laravel groupBy MIN() without ignore NULL

Laravel groupBy MIN() without ignore NULL

更新於 發佈於 閱讀時間約 2 分鐘

mysql中假設groupBy('customer_id') MIN('giveup_date'), 如果欄位中有NULL, 則預設會被忽略。

以下圖為例, 則會拿到2021-09-24 16:42:20。

raw-image

實務上可能會遇到不想忽略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,且資料中確定沒這個值。


本筆記參考:
1. https://stackoverflow.com/questions/2553092/mysql-min-ignores-null-need-workaround-tweak

avatar-img
Vic Lin的沙龍
21會員
161內容數
留言
avatar-img
留言分享你的想法!
Vic Lin的沙龍 的其他內容
Create React App 提供了快速建立React App環境的方法: 1. 安裝node.js 2. 建立React project: $ npx create-react-app my-app 3. 啟動app $ cd my-app $ npm start npm start之後即打
上篇介紹的promise chain的寫法,是已經比原本好維護了沒錯,但是可讀性似乎還是有點不足,其實還可以改成用async/await的寫法,如下: E 其中,async是非同步的意思,等於是把getData()這個function定義為非同步,因此從console可以看到,test是最先被pri
在PHP 7 版本之前,?: 這種寫法稱為,「Ternary Operator」: $data = isset($data) ? $data : 'hello'; PHP 7 之後,??這種寫法稱為「Null Coalescing Operator」: $data = $data ?? 'hell
1. $ C:\wamp64\bin\mariadb\mariadb10.6.3\bin\mysql.exe -u username -p --default-character-set=utf8 2. 選擇db: $ use dbname; 3. 匯入資料: $ source c:\xxx.sq
小弟在寫Laravel cronjob分析資料的時候,發現select某個table的data,dd()都沒任何反應,但如果資料量比較小就可以,後來去看php_error.log才發現下面這段錯誤訊息: PHP Fatal error:  Allowed memory size of 1342177
Create React App 提供了快速建立React App環境的方法: 1. 安裝node.js 2. 建立React project: $ npx create-react-app my-app 3. 啟動app $ cd my-app $ npm start npm start之後即打
上篇介紹的promise chain的寫法,是已經比原本好維護了沒錯,但是可讀性似乎還是有點不足,其實還可以改成用async/await的寫法,如下: E 其中,async是非同步的意思,等於是把getData()這個function定義為非同步,因此從console可以看到,test是最先被pri
在PHP 7 版本之前,?: 這種寫法稱為,「Ternary Operator」: $data = isset($data) ? $data : 'hello'; PHP 7 之後,??這種寫法稱為「Null Coalescing Operator」: $data = $data ?? 'hell
1. $ C:\wamp64\bin\mariadb\mariadb10.6.3\bin\mysql.exe -u username -p --default-character-set=utf8 2. 選擇db: $ use dbname; 3. 匯入資料: $ source c:\xxx.sq
小弟在寫Laravel cronjob分析資料的時候,發現select某個table的data,dd()都沒任何反應,但如果資料量比較小就可以,後來去看php_error.log才發現下面這段錯誤訊息: PHP Fatal error:  Allowed memory size of 1342177