找到前5条记录的雄辩查询

时间:2016-09-30 15:12:52

标签: php mysql laravel eloquent

我正在创建一个查询,为我提供了访问次数最多的前5个国家/地区,但我的查询无效。

我的查询我可以限制,我如何按国家/地区计算所有记录,以查看更多访问过的5个国家/地区。

我的查询:

 $top5 = DB::table('visits') ->select('ip','country', 'browser') ->groupBy('ip') ->get();

输出示例: http://pastebin.com/wtu8CnL8

1 个答案:

答案 0 :(得分:1)

首先,您需要按国家/地区对查询进行分组,因为这就是您正在查看的内容。然后,您需要计算结果,按照该数字排序,然后只需要你需要的结果。

 $top5 = DB::table('visits')
     ->select('ip','country', 'browser', DB::raw("count(*) as total_visits"))
     ->groupBy('country')
     ->orderBy('total_visits','DESC')
     ->take(5);