laravel - > orderBy和GroupBy如何在查询中使用

时间:2015-03-03 18:23:14

标签: mysql laravel-4

 $followupschedule=CustomerFollowupcallSchedule::where('coordinator_id', '=', Session::get('userid'))              
                ->orderBy('call_date', 'DESC')
                ->groupBy('lead_id')
                ->get();

我用它来从表中查询。当我使用OrderBy时,它可以正常工作,但是当我将GroupBy用于'lead_id'时,它会分组,但OrderBy不再有效;只有带有lead_id的第一行才会被提取,而不是最后一行。

1 个答案:

答案 0 :(得分:0)

不同栏目中的

group byorder by并未走在手边,数据库根本不知道如何处理它。

虽然有可能,你似乎想要每个lead_id的最新call_date:

SELECT * FROM (
    SELECT * FROM `table`
    WHERE
        `coordinator_id` = 'fubar'
    ORDER BY
        `call_date` DESC
) AS temp
GROUP BY
    temp.`lead_id`

这样子查询选择所有数据,按call_date排序。 包装查询通过lead_id获取所有数据,组,这将(可能)检索最新的call_date。