🥨
【Laravel】複数カラムに対する重複データをまとめて取得する方法
Laravel 9.19で重複データを取得する方法についてのメモです。
以下のようなテーブルあった場合に、年齢と性別について重複するデータを取得したい場合は以下のようにします。
テーブル名:users
id | 名前 | 年齢 | 性別 |
---|---|---|---|
1 | 田中 | 23 | 男 |
2 | 佐藤 | 24 | 女 |
3 | 中田 | 27 | 男 |
: | : | : | : |
$result = DB::table('users')->select('年齢', '性別', DB::raw('count(*) as user_count'))
->groupBy('年齢', '性別')
->havingRaw('count(*) > ?' , [1])
->get();
selectで設定したカラムを全てgroup byする必要があるみたいです↓参考
Discussion