首页 / MYSQL / Mysql sum列根据另一列
Mysql sum列根据另一列
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql sum列根据另一列,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1457字,纯文字阅读大概需要3分钟。
内容图文
![Mysql sum列根据另一列](/upload/InfoBanner/zyjiaocheng/904/19ba676d1c59485d8bb2415a05dd9a80.jpg)
这是我的Mysql表中的表数据
t_Id t_Type t_Date t_acd_Id t_acc_Id t_Amount t_Desc t_u_Id c_Id
------ ------ ---------- -------- -------- -------- ------ ------ --------
1 0 2016-01-26 266 29 400.00 1 1
2 0 2016-01-27 266 29 160.00 1 1
3 1 2016-01-28 29 266 83.30 1 1
4 2 2016-01-27 29 272 400.00 1 1
5 0 2016-01-27 266 272 300.00 1 1
6 1 2016-01-28 272 22 20.00 1 1
我想要我的结果
accout_Id rec_Amount pay_Amount
------ ---------- ----------
29 483.30 560.00
其中rec_Amount是t_acd_Id的总和,pay_Amount是t_acc_Id的总和
如何得到这个结果?
我目前的查询
选择
(SELECT SUM(t_Amount)FROM tbl_transactions WHEREt_acd_Id = 29)AS rec_Amount,
(SELECT SUM(t_Amount)FROM tbl_transactions WHEREt_acc_Id = 29)AS pay_Amount
FROM tbl_transactions
它给出了多行
解决方法:
此查询仅满足上述要求(对于单个帐户).如果您想获得所有帐户的结果,则需要按帐户对记录进行分组.
试试这个(这是根据你的要求):
SELECT CASE
WHEN t_acc_id = 29 THEN t_acc_id
WHEN t_acd_id = 29 THEN t_acd_id
END account_id,
Sum(CASE
WHEN t_acd_id = 29 THEN t_amount
ELSE 0
END) rec_Amount,
Sum(CASE
WHEN t_acc_id = 29 THEN t_amount
ELSE 0
END) pay_Amount
FROM tbl_transactions
WHERE t_acc_id = 29
OR t_acd_id = 29
内容总结
以上是互联网集市为您收集整理的Mysql sum列根据另一列全部内容,希望文章能够帮你解决Mysql sum列根据另一列所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。