有偿请教 sql 问题?

有一张表 获取状态为 3 和2 的 状态为3的数据按照字段相同值相加 状态为2的不处理 保持分页 请问如何处理 菜鸟一枚 谢谢大佬

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

@JimChen 不是 SELECT
a.,
IFNULL((SELECT SUM(is_out) FROM loan_repay_plan AS b WHERE a.loan_no = b.loan_no AND b.status = 3 ),0) AS sum_is_out
FROM
loan_repay_plan AS a where a.status =3 GROUP BY a.loan_no,a.status
UNION ALL
SELECT
, is_out
AS sum_is_out
FROM
loan_repay_plan where status =2 类似这个sql 但是我这样处理很费劲

5年前 评论
讨论数量: 7

话说我都看不明白你在说什么……
状态为3的数据按照字段相同值相加 这句话是什么意思,太笼统了……

5年前 评论

@aimerforreimu 同是状态为3的一条数据 中的 a = a 的数据相加 保留一条为a的数据

5年前 评论

看不懂...你不如把问题抽象出来一张表以及数据,然后说出你想要的结果集。

5年前 评论

@JimChen 表a
id money loan_no status
1 2000。 1234 2
2。 3000 1234 3
3。 3000。 1234 2
select * from a where status in (2,3) 这样获取的是所有状态为 2 3的 需求是 id1和3 数据需要根据loan_no相同合并为一条 数据金额相加 为 5000元

5年前 评论

@Mr_Guo SELECT SUM(money) FROM a WHERE `status` in (2,3) GROUP BY `status` 看看是不是你需要的?

5年前 评论

@JimChen 不是 SELECT
a.,
IFNULL((SELECT SUM(is_out) FROM loan_repay_plan AS b WHERE a.loan_no = b.loan_no AND b.status = 3 ),0) AS sum_is_out
FROM
loan_repay_plan AS a where a.status =3 GROUP BY a.loan_no,a.status
UNION ALL
SELECT
, is_out
AS sum_is_out
FROM
loan_repay_plan where status =2 类似这个sql 但是我这样处理很费劲

5年前 评论

有偿 博眼球吧

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!