首页 > 解决方案 > 如果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]

标签: mysqlsql

解决方案


您需要在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您想要和/或您需要的任何东西


推荐阅读