简单选择返回null而不是value

时间:2012-09-25 23:55:39

标签: sql

我有一张这样的表:

enter image description here

我需要的是特定部门给定年份的金额总和。

我试过了:

SELECT SUM(amount) FROM `spendings` WHERE dept_name='fiz' AND YEAR(date)=2012

但它只返回NULLdept_namevarcharamountdoubledate - 嗯,这是date,这真是一个惊喜。

我做错了什么?

4 个答案:

答案 0 :(得分:0)

部门fiz在2012年没有任何记录,因此未查询的总和为空

答案 1 :(得分:0)

如果该表实际上是您要查询的数据,则2012年没有记录(仅限2010年和2011年)

答案 2 :(得分:0)

您没有任何记录WHERE dept_name='fiz' AND YEAR(date)=2012。部门'fiz'的两个记录适用于'2010''2011'

答案 3 :(得分:0)

只是为了不重复其他的anwsers,如果你期待一个cero,那么使用:

SELECT COALESCE(SUM(amount),0) FROM `spendings` WHERE dept_name='fiz' AND YEAR(date)=2012

请在此处观察COALESCE功能