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

基于USERTABLE日期筛选STOCKTABLE数据的SQL查询需求

问题说明

表结构与数据

USERTABLE(用户基准表)

包含字段:USERID(用户ID)、DATE(用户基准日期)
数据如下:

USERIDDATE
12022-01-01
22022-03-01

STOCKTABLE(交易记录表)

包含字段:USERID(用户ID)、DATE(交易日期)、VALUE(交易金额)、APPROVED(是否审批通过)
数据如下:

USERIDDATEVALUEAPPROVED
12020-12-31100Y
12022-02-0150Y
12022-03-01100N
22022-01-0110N
22022-03-0220N
22022-03-0525Y

需求

筛选出STOCKTABLE中交易日期大于对应用户在USERTABLE中基准日期的行,按USERID分组统计两个指标:

  • COUNT:符合条件的交易总行数
  • SUM:其中APPROVED为Y的交易金额总和

预期结果

USERIDCOUNTSUM
1250
2225

解决方案SQL语句

SELECT
    u.USERID,
    COUNT(s.USERID) AS COUNT,
    SUM(CASE WHEN s.APPROVED = 'Y' THEN s.VALUE ELSE 0 END) AS SUM
FROM USERTABLE u
JOIN STOCKTABLE s ON u.USERID = s.USERID
WHERE s.DATE > u.DATE
GROUP BY u.USERID;

语句说明

  • 表关联:通过USERID将两张表内关联,只处理存在基准日期的用户交易记录
  • 条件筛选:WHERE s.DATE > u.DATE过滤出交易日期晚于用户基准日期的记录
  • 统计逻辑:
    • COUNT(s.USERID)直接统计符合条件的交易行数
    • SUM(CASE...)通过条件判断,仅累加审批通过(APPROVED='Y')的交易金额,未通过的记为0不影响总和

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 12:35:22