如何使用SQL语句实现数据累加

qxl5040970 2023-03-01 11:01:58

表名:A,字段名如下;数据为玩家每次使用充值卡的时间,及对应金额

需要计算玩家使用充值卡这个道具,累计使用满50元时,花费了多长时间

 

 

...全文
57 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

最内层用窗口函数计算各个用户的累计值,外层查询累计值大于 50 元的最小时间和用户充值最小时间的差值

select *, 
    datediff(day, 
    min(logtime) over(partition by srcname),
    min(case when cumsum >= 50 then logtime else null end) over(partition by srcname)
    ) 时间差
from 
(SELECT *, sum(充值卡) over(partition by srcname order by logtime) cumsum 
FROM tbl) t
发帖
MS-SQL Server

3.4w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2023-03-01 11:01
社区公告
暂无公告