我有以下sql
SELECT SUM(amount) from CustomerPayment where date like '%2013' GROUP BY TYPE
在我想分开总结这些。例如:银行总共500,现金是400
但是上面的sql并没有对记录求和。相反,它返回银行和现金记录的第一个记录。为什么呢?
答案 0 :(得分:0)
我想说尝试将类型添加到sql查询中。然后它具有您希望分组的类型的可见表示。
SELECT SUM(amount), TYPE from CustomerPayment where date like '%2013' GROUP BY TYPE
答案 1 :(得分:0)
你可以尝试使用year(date)= 2013,因为数据不存在所以我猜测'like'函数是不是让group by正常执行它的功能。
答案 2 :(得分:0)
如果您的日期字段的数据类型为Date
或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
答案 3 :(得分:-1)
包括TYPE col
SELECT TYPE, SUM(amount) from CustomerPayment where date like '%2013' GROUP BY TYPE