按客户分组数据,保留最新日期并汇总金额的技术需求问询
按客户分组并保留最新日期、汇总金额的解决方案
示例输入数据
| 日期 | 客户 | 金额 |
|---|---|---|
| 12-Dec | ABC | 200 |
| 15-Dec | ABC | 300 |
期望输出结果
| 日期 | 客户 | 金额 |
|---|---|---|
| 15-Dec | ABC | 500 |
SQL 查询语句
要实现这个需求,只需要结合 GROUP BY 和聚合函数就能轻松完成,具体代码如下:
SELECT MAX(Date) AS Date, Customer, SUM(Amount) AS Amount FROM 你的表名 -- 替换为实际表名 GROUP BY Customer;
语句说明
MAX(Date):为每个客户组筛选出最新的日期记录。SUM(Amount):将该客户所有交易的金额进行累加求和。GROUP BY Customer:指定按客户字段进行分组,确保每个客户只会生成一条汇总记录。
这个查询不仅适用于示例中的单个客户场景,当数据中有多个不同客户时,也能分别输出每个客户的最新日期和总金额。
内容的提问来源于stack exchange,提问作者Subramanian Karunamoorthi




