如果TableA中没有记录,此查询将返回0条记录:
Select strA, strB, intC, floatD, from tableA
但是,此查询返回1条记录,所有列都为Null。
Select strA, strB, intC, floatD, sum(intC+intD) as sumE,
from tableA
所以,为了解决这个问题,我做了:
Select strA, strB, intC, floatD, sum(intC+intD) as sumE,
from tableA
having sumE is not null
我想知道是否有更好的方法来做同样的事情。任何内置的MySQL函数可以做同样的事情吗?
答案 0 :(得分:1)
那是因为你没有GROUP BY
。您要求MySQL为整个表格获取SUM
intC + intD
,因此无论如何都会给您一个结果。它必须为strA, strB
等添加内容,因此它会输入NULL
值。
例如,只需执行SELECT SUM(intA) FROM tableA
即可获得NULL
。