示例:汇总指定时间月份内支付金额、退款金额,并保留2位小数
SELECT
a.dt AS '时间',
a.sum_pay AS '支付金额(元)',
b.sum_refund AS '退款金额(元)'
FROM
(SELECT
DATE_FORMAT(create_time, '%Y-%m') AS dt,
ROUND(SUM(amount) / 100, 2) AS sum_pay
FROM
pay_record
WHERE create_time > '2024-04-01 00:00:00'
AND trade_state = 1
GROUP BY dt) a,
(SELECT
DATE_FORMAT(create_time, '%Y-%m') AS dt,
ROUND(SUM(refund) / 100, 2) AS sum_refund
FROM
refund_record
WHERE create_time > '2024-04-01 00:00:00'
AND refund_status = 'SUCCESS'
GROUP BY dt) b
WHERE a.dt = b.dt ;
输出结果如下: