我有一张这样的表:
我需要的是特定部门给定年份的金额总和。
我试过了:
SELECT SUM(amount) FROM `spendings` WHERE dept_name='fiz' AND YEAR(date)=2012
但它只返回NULL
。 dept_name
是varchar
,amount
是double
和date
- 嗯,这是date
,这真是一个惊喜。
我做错了什么?
答案 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
功能