0

私は以下のSQLを持っています

SELECT SUM(amount) from CustomerPayment where date like '%2013' GROUP BY TYPE

タイプ列には、BANK と CASH の 2 つの選択肢があります。

これらを個別に合計したいと思います。例: 銀行は合計 500 で、現金は 400 です。

ただし、上記の sql はレコードを合計しません。代わりに、銀行と現金のレコードの最初のレコードを返します。なんで?

4

4 に答える 4

0

日付フィールドのデータ型がDateorのDateTime場合、LIKE 演算子は機能しません。

日付の比較には、日付関数を使用します。

SELECT SUM(amount)
FROM CustomerPayment
WHERE YEAR(date) = 2013
GROUP BY TYPE

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_year

于 2013-05-01T09:46:09.250 に答える
0

SQLクエリにタイプを追加してみてください。次に、グループ化するタイプの目に見える表現があります。

 SELECT SUM(amount), TYPE from CustomerPayment where date like '%2013' GROUP BY TYPE
于 2013-05-01T09:37:43.233 に答える