php - 根据列值获取 SUM 的 SQL 查询
问题描述
我有一张下表
InvoiceNum | CheckAmt | CheckNum |
----------------------------------
1234 |10.00 |1244 |
2346 |11.00 |1244 |
4176 |12.00 |1244 |
5213 |15.00 |1673 |
上表代表客户的付款。客户可以有多张发票,他们可以通过单张支票付款。
例如,前三行由同一张支票支付。所以我想在应用查询后如下所示
InvoiceNum | CheckAmt | CheckNum |
----------------------------------------
1234, 2346, 4176 | 33.00 | 1244 |
5213 | 15.00 | 1673 |
有可能吗?
任何帮助,将不胜感激。
解决方案
我建议使用聚合函数:
用于GROUP BY
按支票编号对行进行分组。
用于GROUP_CONCAT
用逗号连接分组的发票编号SEPARATOR
。
用于SUM
汇总分组支票金额。
这是一个例子:
SELECT
GROUP_CONCAT(`InvoiceNum` SEPARATOR ', ') AS `InvoiceNum`,
SUM(`CheckAmt`) AS `CheckAmt`,
`checkNum`
FROM
`yourTable`
GROUP BY
`checkNum`
推荐阅读
- ruby-on-rails - Rails 不保存/允许存储嵌套表单的值
- android - 我需要将创建的视频发送到 ziggeo 的网络服务
- java - 使用 mvn 原型从命令行创建 Spring Boot 项目时出错:生成
- amazon-s3 - Lambda 函数和触发的 S3 事件
- php - 登录后我希望提交一个表单并重定向到登录后页面
- eclipse - 尝试为 32 位 Windows 下载 Eclipse 时出现 404 Not Found nginx/1.14.0 (Ubuntu) 错误
- wpf - 在 WPF 中裁剪非透明的双进度条
- javascript - 如何添加值和嵌套对象
- sql - 如何修复 jpa 中的“ERROR SqlExceptionHelper Column 'cardinalidadid' not found”错误
- javascript - Mobx,React Native,从 API 获取数据后 mobx 突变状态的奇怪行为