【问题标题】:Group by - only fetch groups with X rowsGroup by - 仅获取具有 X 行的组
【发布时间】:2020-06-20 21:34:20
【问题描述】:

我想获取具有> X reviewsgroup 的书籍的book_ids 以获得该书籍的average 评级。

SELECT book_id, avg(rating) FROM `bookReviews` group by book_id` (where group count > 5)

【问题讨论】:

  • 您要查询吗?
  • 如果有办法实现它(?)是的,我需要一些指导 - 谷歌没有太大帮助;)

标签: mysql laravel group-by eloquent count


【解决方案1】:

这是查询

SELECT book_id, AVG(rating) as average
FROM bookReviews
GROUP BY book_id
HAVING count(*) > 5;

这是查询生成器;

return DB::table('bookReviews')
        ->select('book_id', DB::raw('AVG(rating) as average'))
        ->groupBy('book_id')
        ->having(DB::raw('count(*)'), '>', 5)
        ->get();

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多