首页 > 解决方案 > 一个有说服力的查询的多个总计

问题描述

是否可以从数据库表中获取多个总计?

桌子:

ID 活跃 点击次数 印象
n 真或。错误的 整数 整数

目前我有两个查询:

$total_1 = Model::where('is_active', 1)->sum('clicks'); // output 2.000
$total_2 = Model::where('is_active', 1)->sum('impressions'); // output 8.000

标签: mysqllaraveleloquent

解决方案


您可以使用原始查询来做到这一点:

$data = Model::selectRaw('sum(clicks) as clicks, sum(impressions) as impressions')
    ->where('is_active', true)
    ->first();

$total_1 = $data->clicks ?? 0;
$total_2 = $data->impressions ?? 0;

https://laravel.com/docs/8.x/queries#raw-methods


推荐阅读