mysql查询支付状态并按照支付状态的成功与失败来计算成功订单和失败订单的总金额?

mysql查询支付状态并按照支付状态的成功与失败来计算成功订单和失败订单的总金额?,第1张

SELECT SUM(CASE `支付状态` WHEN 2 THEN `支付金额` ELSE 0 END)

,SUM(CASE `支付状态` WHEN 2 THEN 1 ELSE 0 END)

,SUM(CASE `支付状态` WHEN 1 THEN `支付金额` ELSE 0 END)

,SUM(CASE `支付状态` WHEN 1 THEN 1 ELSE 0 END)

FROM `订单`

这个SQL的结果是这个样子,4个数字表示成功金额、成功笔数、失败金额、失败笔数

123.45 11 2345.67 222

也可以用这样的简单SQL语句统计:

SELECT `支付状态`, COUNT(*), SUM(`支付金额`) FROM `订单`

结果为两行,分别是成功的笔数和金额、失败的比如和金额,例如是这样:

1 11 123.45

2 22 2345.67

付款方式?

微信/支付宝/xx银行这种?

如果是的话,可以用tinyint 存数字,然后代码逻辑里声明几个对应的常量

也可以存枚举,但是存枚举的话,以后每加一种支付方式就需要去数据库这个字段的枚举值里加一次,用数字的话就不需要,只要在代码里多声明好一个新的常量就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8399487.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存