php - Laravel 查询生成器原始表达式

标签 php mysql laravel laravel-5

如何使用查询生成器在 join 子句中编写原始表达式?

SELECT 
    rating.post_id,
    sum(rate_like), 
    sum(rate_dislike), 
    (sum(rate_like) + sum(rate_dislike)),
    column_rating
from rating
inner join (
    select 
        post_id, 
        round(round((((sum(rate_like) / (sum(rate_like) + sum(rate_dislike)) * 100) * 0.5) / 10) * 2) / 2, 1) as column_rating
    from rating group by post_id
) as rating_table
on rating.post_id = rating_table.post_id
group by rating.post_id

我尝试通过以下方式实现它,但它不起作用:

DB::table('db_test')->table('rating')
                     ->join('rating_table', 'select ... from rating as rating_table')
                     ->raw('rating.post_id,
                            sum(rate_like), 
                            sum(rate_dislike), 
                            (sum(rate_like) + sum(rate_dislike)),
                            column_rating')

最佳答案

我能够使用 ->join(DB()->raw('select...') 成功查询它

关于php - Laravel 查询生成器原始表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41075134/

相关文章:

mysql - 在 Laravel 查询构建器中使用 OR

php - 如何获取max id之前的数据

php - 乔姆拉!根目录

mysql - 在查询中正确使用 COUNT 函数来获取百分比 (MySQL)

mysql - 通过在 sql 中使用两列从表中删除重复项?

laravel - 错误 预期响应代码 250 但收到代码 "550",并显示消息“550 这是仅提交端口。在发送邮件之前您必须进行身份验证

javascript - Uncaught Error : Container is not defined

php - 需要使用php在每3位数字后添加逗号

来自 SSH 的 MYSQL 用户设置权限主机

php - Redirect::away(...) 相当于流明?