您好,我在这里有问题和解决方案 http://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html这是找到具有特定列最大值的行,并按其他值分组。
我的问题是如何将下面的查询转换为 Eloquent 格式?
SELECT s1.article, dealer, s1.price
FROM shop s1
JOIN (
SELECT article, MAX(price) AS price
FROM shop
GROUP BY article) AS s2
ON s1.article = s2.article AND s1.price = s2.price;
谢谢。
最佳答案
使用原始构建器,如果使用 eloquent,则可以在下面使用,只需删除表名称并替换为您的模型实例
DB::table(DB::raw('shop as s1'))
->join(
DB::raw('(SELECT article, MAX(price) AS price FROM shop GROUP BY article) as s2'),
function($query) {
$query->on('s1.article', '=', 's2.article')
->on('s1.price', '=', 's2.price');
})->get();
关于mysql - 通过分组 Eloquent 地找到具有最大值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40991960/