SELECT
DATE_FORMAT(t.`payDateTime`, "%Y-%m") month,
COUNT(1) num,
IFNULL(SUM(payMoney), 0) sumAmount
FROM
trade t
<where>
<if test="beginTime != null and endTime != null">
t.payDateTime >= #{beginTime}
AND t.payDateTime < #{endTime}
</if>
<if test="tradeType != null and tradeType != ''">
AND tradeType = #{tradeType}
</if>
</where>
GROUP BY DATE_FORMAT(t.`payDateTime`, "%Y-%m");