嗨我有问题和解决方案http://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html,这是找到某个列的最大值的行,按其他值分组。
我的问题是如何将下面的查询转换为Eloquent格式?
protected override void OnCreate(Bundle b)
{
base.OnCreate(b);
// create event handler
var calendar = FindViewById<CalendarView>(Resource.Id.myCalender);
calendar.DateChange += CalendarOnDateChange;
}
感谢。
答案 0 :(得分:2)
使用raw Builder,如果使用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();
答案 1 :(得分:0)
您可以使用直截了当的DB::query()。您也可以从Queries - Joins获取帮助以应用联接或Raw Expressions。
答案 2 :(得分:0)
试试这个:
Shop::join('shop as shop2', 'shop.article', '=', 'shop2.article')
->groupBy('shop.article', 'shop.price')
->havingRaw('max(shop2.price) = shop.price')
->get()