【发布时间】:2021-11-04 14:37:27
【问题描述】:
我有一个查询让我们看看,
DB::table('states')
->join('brands', 'brands.state_id', '=', 'states.state_id')
->join('cities', 'cities.state_id', '=', 'states.state_id')
->select(
'state_name',
DB::raw("(COUNT('cities.city_id')) as cities"),
DB::raw("count('brands.brand_id') as brands")
)
->groupBy('state_name')
->get();
我想从states 表中获取state_name 并计算状态下的cities 和brands。但在这些查询中,问题是城市计数和品牌计数显示相同的结果。我该如何解决?
【问题讨论】:
-
您的预期结果是什么?
-
我的预期结果将显示 state_name 和 city--count & brand--count
-
像这样:` [ { state_name:“阿拉巴马”,城市:574,品牌:5 },{ state_name:“阿肯色州”,城市:439,品牌:6 },{ state_name:“阿肯色州", 城市: 439, 品牌: 10 } ] `
-
你的输出是什么?
-
城市和品牌与城市:530 品牌:530 相同,但这不是正确答案。品牌有不同的价值
标签: mysql laravel join query-builder