mysql - 如果mysql上只有数据,则显示数据总和
问题描述
SELECT t.idtest,
t.testkhusus,
t.biayakhusus,
t.uangmuka,
t.total,
t.tanggallunas,
t.biayatambahan,
p.namaperusahaan,
(Sum(jth.tarifpsikolog) + Sum(jth.tarifadministrasi) + Sum(jth.tariftester)) AS biayadll
FROM test t
INNER JOIN perusahaan p
ON t.perusahaan_idperusahaan=p.idperusahaan
INNER JOIN (jadwaltest jt
INNER JOIN jadwaltest_has_biayatimelostcost jth
ON jt.idjadwaltest = jth.idjadwaltest)
ON t.idtest = jt.test_idtest
WHERE t.tanggallunas BETWEEN '2018-05-22' AND '2018-05-23'
如果空白数据不应该显示该行。
我希望 mysql_num_rows() 的结果是 0 而不是 1。
请帮忙,谢谢..[![在此处输入图像描述][2]][2]
解决方案
您需要在GROUP BY
.
检查我的简单小提琴:
http://sqlfiddle.com/#!9/cae193/5
select SUM(amount)
from t1
where 0=1;
select SUM(amount)
from t1
where 0=1
group by id
null
在第一种情况下,即使没有什么要总结的,它也会返回带有 s 的空行。
但在第二个中,GROUP BY
它不返回任何行。
在您的情况下,可能是GROUP BY t.idtest
您想要和/或您需要的任何东西
推荐阅读
- html - Css flexbox 列溢出
- sql - 获取与历史上某个时间点的应用程序状态相对应的行
- java - 如何使用套接字将字节从 Python 发送到 Java?
- parallel-processing - MPI_Dims_create() 的返回值
- scala - Scala how to format scrambled data in proper order
- javascript - 使用 jsp 和 codemirror js lib 时出现 Uncaught SyntaxError: Invalid or unexpected token
- java - 如何将现有的 SQLite3 数据库导入 Room?
- postgresql - 为什么 postgres 会扫描所有表?
- python-3.x - Struct.error: unpack 需要 16 字节的缓冲区
- c# - 我是否正忙于提出多个请求?