mysql - 如何使用内部联接修复此 COUNT 查询数据
问题描述
我有两个表 galang_dana 和 donasi,然后我尝试计算 galang_dana 表和 donasi 表中的所有数据。galang_dana 表中的数据有 6 个数据,当我尝试此查询时,它正确显示数据有 6 个数据
select count(galang_dana.id_galang_dana) as jumlah_galang_dana
from galang_dana
但是当我尝试使用此查询对这两个表进行内部连接以计算和汇总其他数据时,查询的数据 选择计数(galang_dana.id_galang_dana)作为 jumlah_galang_dana 显示 8 个数据。
select count(galang_dana.id_galang_dana) as jumlah_galang_dana,
count( distinct donasi.id_user) as jumlah_donatur,
SUM(donasi.jumlah_dana) as total_dana_terkumpul
from `galang_dana` left join
`donasi`
on `galang_dana`.`id_galang_dana` = `donasi`.`id_galang_dana`
解决方案
DB::table('galang_dana')
->selectRaw('
COUNT(*) jumlah_galang_dana,
(SELECT COUNT(*) FROM donasi WHERE donasi.id_galang_dana = galang_dana.id_galang_dana) jumlah_donatur,
(SELECT SUM(`jumlah_dana`) FROM donasi WHERE donasi.id_galang_dana = galang_dana.id_galang_dana) total_dana_terkumpul
')
->groupBy('id')
->get();
推荐阅读
- python - 如何使用 python-redis 检查 redis-database 中是否存在值
- python - 使用带有列表和字典的字典中的 Django 模板显示一些值
- excel - 如果单元格为空白,则移动到另一个单元格,否则为 TODAY()-单元格
- java - Equinox 无法解析 org.eclipse.osgi.services 和 org.eclipse.equinox.cm
- angular - 将 HTML 字符串转换为 Angular 组件
- java - 类似于 IntelliJ 的 Eclipse count.fori 代码模板/后缀补全
- powerbi - 按季度的年度移动平均值(Power Bi)
- c# - 配置 ILMerge 包
- assembly - 如何在 ARM 汇编中移动字节
- python - Ubuntu 上的张量流