有偿请教 sql 问题?

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

@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年前 评论

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