【发布时间】:2020-10-29 06:28:45
【问题描述】:
美好的一天,我正在努力以最低的价格获得独特的产品。 我有一个这样的产品表:
我想获取包含所有列的产品列表。现在有些产品有多个供应商,这种情况下我想抢最低cost_price的产品。
到目前为止,我已经尝试过了
$products = DB::table('products')
->select('identifier')
->selectRaw('MIN(cost_price) as cost_price')
->where('stock', '>', 0)
->groupBy('identifier')
->orderBy('cost_price', 'asc')
->distinct()->get();
这个查询返回了正确的结果,但是每次我添加一列时我都无法添加更多列,例如 stock 在选择中我需要在 GroupBy 中添加,然后我只是得到所有产品。
怎么做? 感谢您的阅读。
【问题讨论】:
标签: mysql database laravel greatest-n-per-group laravel-query-builder