我想使用laravel 4.2捕获mysql表列中最常出现的前10个值。
例如,出现次数最多的10种产品及其计数,如下面的原始MySQL查询所示:
SELECT `product_id`, COUNT(*)
FROM `product_details`
GROUP BY `product_id`
ORDER BY COUNT(*) DESC
LIMIT 10;
答案 0 :(得分:0)
尝试以下语法:
DB::table('product_details')
->select('product_id', DB::raw('COUNT(*) AS cnt'))
->groupBy('product_id')
->orderByRaw('COUNT(*) DESC')
->take(10)
->get();