0

私はこのようなテーブルを持っています:

ここに画像の説明を入力してください

そして、私が必要としているのは、特定の部門の特定の年の金額の合計です。

私はこれを試しました:

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

ただし、を返すだけNULLです。dept_nameは、varcharamountあり、doubleそしてdate-まあ、それはdate、なんて驚きだ。

私は何が間違っているのですか?

4

4 に答える 4

0

部門fizには2012年のレコードがないため、クエリが見つからなかった合計はNullになります

于 2012-09-25T23:57:44.757 に答える
0

そのテーブルが実際にクエリしているデータである場合、2012年のレコードはありません(2010年と2011年のみ)

于 2012-09-25T23:57:55.607 に答える
0

他のアンサーを繰り返さないために、セロが予想される場合は、次を使用します。

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

COALESCEここで機能を観察してください

于 2012-09-26T00:02:24.960 に答える
0

レコードがありませんWHERE dept_name='fiz' AND YEAR(date)=2012。dept の 2 つのレコード'fiz'は、 for'2010''2011'です。

于 2012-09-25T23:58:31.247 に答える