You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查询各账户及产品首次享受折扣的日期及交易汇总SQL需求

交易历史表统计查询需求

现有一张海量交易历史表,包含以下字段:

  • acc_nbr:账户编号
  • tran_nbr:交易编号
  • tran_amt:交易金额
  • tran_dt:交易日期
  • tran_dis:交易折扣
  • tran_prd:交易产品

需要实现的查询要求:

  • 按acc_nbr(账户编号)与tran_prd(交易产品)的组合分组
  • 查询每个组合首次享受折扣的交易日期(即该组合下tran_dis > 0的最早交易日期)
  • 汇总每个组合所有折扣交易(tran_dis > 0)的tran_amt总和与tran_dis总和

示例输入

tran_dtacc_nbrtran_prdtran_amttran_dis
1-1-2020666A7770
3-4-2020666A7770
5-5-2021666C22218
7-1-2022666A77720
3-5-2023666A77799

期望输出

acc_nbrtran_prdEffective dis datetran_amt (sum)tran_dis sum
666A7-1-20221,554119
666C5-5-202122218

实现SQL示例(以MySQL为例)

SELECT
    acc_nbr,
    tran_prd,
    MIN(tran_dt) AS `Effective dis date`,
    SUM(tran_amt) AS `tran_amt (sum)`,
    SUM(tran_dis) AS `tran_dis sum`
FROM
    transaction_history
WHERE
    tran_dis > 0
GROUP BY
    acc_nbr, tran_prd;

说明

  • 提前通过WHERE tran_dis > 0过滤无折扣交易,既能避免无效数据干扰,也能提升海量数据场景下的查询效率
  • 用MIN(tran_dt)直接获取每个组合首次享受折扣的日期
  • 分组后通过SUM()函数直接汇总折扣交易的金额与折扣总和

内容的提问来源于stack exchange,提问作者GMS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:35:12