急!数据库中同一订单多个状态问题

急!数据库中同一订单多个状态问题,第1张

这里order和product是典型的多对多的关系,所以尽量不要放在一张table里来储存啊,你可以另外建立一张order与product的关系表来存放这些记录,不然你永远也写不出你的pro_id是什么,除非你自己规定一个分隔符号将所有pro_id连起来组成一个varcher,不过这样会导致程序处理上的麻烦,不如另外建立关系表来的简明。

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


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

原文地址:https://54852.com/sjk/6775507.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存