我想从一列中获得不同的值,并从mysql数据库中的另一列中获得orderby。
mysql表有以下数据
_________________________
|id |publisher_id |view |
|1 |1 |6 |
|2 |4 |4 |
|3 |1 |3 |
|4 |3 |2 |
|5 |4 |3 |
|6 |2 |1 |
|7 |3 |7 |
|8 |5 |9 |
-------------------------
我想要输出如下
_________________________
|id |publisher_id |view |
|8 |5 |9 |
|7 |2 |7 |
|1 |1 |6 |
|2 |4 |4 |
-------------------------
Laravel查询
Feed::query()->select('publisher_id', 'view')->distinct()->orderBy('view', 'DESC')->limit(4)->get();
最佳答案
根据eckes的建议
$feeds = \App\Models\Feed::select('publisher_id', \Illuminate\Support\Facades\DB::raw('MAX(view) as view'))
->orderBy('view', 'DESC')
->groupBy('publisher_id')
->get();
您不能在此处使用
DISTINCT
,因为DISTINCT
应用于整行。关于php - 我想从一列中获得不同的值,并从mysql数据库中的另一列中订购,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47088807/