首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >3个月负数余额

3个月负数余额
EN

Stack Overflow用户
提问于 2017-01-14 16:10:23
回答 1查看 180关注 0票数 2

我有三张桌子。账号。反式和平衡。

假设帐户只有两个帐户。帐号1和2。

它们都有跨表中的多个事务。

Trans表中的总和(金额)等于每个帐户在任何给定时间的余额。

例如:账户1和2都有50美元。账户1的交易金额为100美元,而账户2的交易价格仅为35美元。

现在,帐户1的余额为负50美元。假设他存了20美元。无论如何,余额仍然是负数。

我需要一个查询,检查余额连续3个月或更长时间是负的,从今天的日期。(每当我运行这个程序时,我都会这样做)。虽然他有20美元的存款,但余额仍然是负数。

当我使用从转换表或从平衡表的最新更新作为一个3个月的标准,上面的帐户不会被拿起。虽然,它是负的,但它看到了一个交易。

我想知道,只有在连续3个月或更长的时间里,无论交易何时发生,我才能查询它将在哪里显示帐号和余额。

栏:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 Account Table has AccountID
 Trans Table has AccountID, Amount, TransDate
 Balance Table has AccountID, Balance, LastUpdate 

谢谢

更新

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Trans Table
Select * from trans where accountid = 1;

Transdate  Merchant    Amount   AccountID
10/1/16    Employer    50       1
10/4/16    Walmart     -20      1
10/7/16    Kroger      -50      1

如今,2016年7月10日,他的账户出现了负增长( -$20 )。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 Transdate  Merchant    Amount   AccountID
 12/01/16   Employer    10       1

他的帐户仍然是负数。如果我今天运行查询(01/15/2017)或以后,他的帐户应该会被取走,因为他至少有90天的负结余。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Balance Table

它只保存了一个帐户的记录。截至今天,报告显示如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AccountID    Balance    LastUpdate
1            -10        12/01/2016

LastUpdate与该帐户的transaction中的最后一个交易日期相同。

我正在疯狂地寻找那些已经负了90天或更长时间的账户,即使最后一笔存款是昨天收到的,但账户仍然是负数。我有50,000个账户我需要这样做.

EN

回答 1

Stack Overflow用户

发布于 2017-01-14 23:35:36

我们将为所有事务计算一个运行余额的。然后,我们将为每个帐户选择最近的事务处理,并将其过滤到以下内容:

  1. 最近的交易已超过90天;或
  2. 过去90天的最大余额小于0。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
;
WITH running_total AS (

        SELECT   t.AccountID
                ,t.Transdate
                ,t.Amount
                ,SUM(t.Amount) OVER (PARTITION BY t.AccountID ORDER BY t.Transdate ROWS UNBOUNDED PRECEDING) AS RunningTotal
        FROM (
                -- Aggregate transctions by Account and Date
                SELECT   t.AccountID
                        ,t.Transdate
                        ,SUM(t.Amount) AS Amount
                FROM Trans
                GROUP BY t.AccountID
                        ,t.Transdate
                ) t

)

SELECT *
FROM running_total rt
WHERE 
-- Most recent transaction
rt.Transdate = (
        SELECT MAX(Transdate)
        FROM running_total
        WHERE AccountID = rt.AccountID
)
-- Current balance is negative
AND rt.RunningTotal < 0

-- Get maximum balance for all transctions in the past 90 days
-- If none found (most recent transaction more than 90 days old),
-- substitute -1
AND COALESCE((
        SELECT MAX(RunningTotal)
        FROM running_total
        WHERE AccountID = rt.AccountID
        AND Transdate >= DATEADD(DAY, -90, GETDATE())
), -1) < 0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41656427

复制
相关文章
SAP-MM-并非奇怪现象之MB5B报表里期初库存余额或者期末库存余额为负数?
笔者在做某个项目的进销存报表优化的的时候,发现了一个奇怪现象:MB5B查某个日期或某个期间的库存的时候,发现有负的库存余额!
SAP虾客
2021/02/23
1.2K0
上日余额
if 交易日 < 上日 上日余额 ±= 交易金额 if 交易日 > 上日 上日余额 = 当前余额
林万程
2022/01/09
7140
余额预警指引
当您账户可用余额小于预警阈值时,腾讯云将向您发送提醒消息,提醒您及时充值或备份数据,以保证您云资源的正常使用。
☆~oo~☆
2022/11/25
8920
mapper怎么用_当前余额和通用余额
在线官方文档:https://gitee.com/free/Mapper/wikis/Home
全栈程序员站长
2022/11/08
1.8K0
mapper怎么用_当前余额和通用余额
还有3个月!
量化投资与机器学习微信公众号,是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W+关注者,荣获2021年度AMMA优秀品牌力、优秀洞察力大奖,连续2年被腾讯云+社区评选为“年度最佳作者”。 2023因子日历,一起期待中!
量化投资与机器学习微信公众号
2022/09/27
2350
还有3个月!
(3)账户模块---操作账户余额的最佳实践
答: 方便追溯,相当于给账户余额的变化过程记录到了一张表,余额出现不一致,以流水表中金额的加减之后的结果为准
小时的棒棒糖
2023/10/03
7510
(3)账户模块---操作账户余额的最佳实践
余额 TCC 实现分析
在分布式事务 TCC 中 T 阶段要先锁住金额以便事务失败回滚时不会出现金额被取走导致回滚失败出现负账。
林万程
2022/01/09
4590
金蝶核算项目余额表卡号余额与天财商龙CRM卡号余额对比
金蝶核算项目余额表卡号余额与天财尚龙CRM卡号余额对比 由于历史遗留问题,财务一直不调账,修改核算科目卡号与天财商龙CRM系统一直,只能用VBA把卡号前缀修改成两边一致。 再通过,Power BI Desktop进行比对,这个貌似比EXCEL的vlookup好用多了。 由于后期本人不再使用,SO不再进行升级优化,编写成全自动。 利用该方法,有效提高了对比速度,由原来的10多天人工对比,到现在的五六分钟,大大提高了工作效率。 虽然可以优化成一分钟之内实时更新对比数据,输出余额不一致卡号。但是本人不再进行使用,
landv
2018/06/22
1.8K0
如何查询OpenAI账户余额?ChatGPT怎么查看账户余额的方法
ChatGPT是美国OpenAI研发的聊天机器人程序,也是最近火爆全网的热门应用和话题之王。很多用户在使用openai的时候不知道如何查询OpenAI账户余额?
季春二九
2023/07/13
1.7K0
如何查询OpenAI账户余额?ChatGPT怎么查看账户余额的方法
余额宝怕不怕挤兑?
“2014中国互联网金融高层论坛暨第七届中国电子金融年会”于2014年1月16日在北京举办。阿里巴巴小微金融服务集团金融事业部总经理袁雷鸣在演讲时回应了业界对于余额宝面临“集中兑付”的风险,其称,第一,余额宝单户投资金额不能超过100万,第二,充分利用支付宝在接近十年的时间里沉淀的大数据,可以精准预测流动性的需求。“每天客户的流动性需求预测我们的偏离率都不会超过5%,所以已经能够足以非常充分的安排这些流动性,更好的为客户创造价值”。 以下为演讲实录:   袁雷鸣:各位领导,各位专家,大家下午
大数据文摘
2018/05/22
6650
计算机负数补码_负数用补码表示如何理解
在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与原码的转换过程几乎是相同的。 数值的补码表示也分两种情况: (1)正数的补码:与原码相同。 例如,+9的补码是00001001。 (2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码 0000111按位取反为1111000;再加1,所以-7的补码是11111001。 已知一个数的补码,求原码的操作分两种情况: (1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。 (2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取 反,然后再整个数加1。 例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负 数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111。 在“闲扯原码、反码、补码”文件中,没有提到一个很重要的概念“模”。我在这里稍微介绍一下“模” 的概念: “模”是指一个计量系统的计数范围。如时钟等。计算机也可以看成一个计量机器,它也有一个计量范 围,即都存在一个“模”。例如: 时钟的计量范围是0~11,模=12。 表示n位的计算机计量范围是0~2(n)-1,模=2(n)。【注:n表示指数】 “模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的 余数。任何有模的计量器,均可化减法为加法运算。 例如: 假设当前时针指向10点,而准确时间是6点,调整时间可有以下两种拨法: 一种是倒拨4小时,即:10-4=6 另一种是顺拨8小时:10+8=12+6=6 在以12模的系统中,加8和减4效果是一样的,因此凡是减4运算,都可以用加8来代替。 对“模”而言,8和4互为补数。实际上以12模的系统中,11和1,10和2,9和3,7和5,6和6都有这个特 性。共同的特点是两者相加等于模。 对于计算机,其概念和方法完全一样。n位计算机,设n=8, 所能表示的最大数是11111111,若再 加1称为100000000(9位),但因只有8位,最高位1自然丢失。又回了00000000,所以8位二进制系统的 模为2(8)。 在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以 了。把补数用到计算机对数的处理上,就是补码。
全栈程序员站长
2022/11/15
2.7K0
【商城应用】用户余额体系设计
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhiqiang0316/article/details/84573165
林老师带你学编程
2019/05/25
1.3K0
负数计算-C++
/* 功能:负数计算类 V1.0 作者:wind 日期:2013-10-11 */ #include <iostream> #include <string> using namespace std; class Complex { public: Complex(double aX,double aY); ~Complex(); void setX(double aX); void setY(double aY); void Count(Complex other); private: do
WindCoder
2018/09/20
1.1K0
Utility之负数取模
最近在跟孩子学习表内除法,想到一个问题:C语言里怎样处理负数取模? 表内除法:12÷4=3 整数除法:13÷4=3…1 整数整除:13/4是等于3吗? 负数取模:-13%4等于多少?1
Taishan3721
2020/01/02
1.5K0
Python负数取余总结
余数存在正余数和负余数,要了解负余数,需要先了解取整原理 17 // 5 = 3 -17//5 = -4 17//-5 = -4 -17//-5 = 3 根据上述的4个公式,可以看出python的编译器是的取整符号位由被除数和除数同时决定,整数的数值是由向下取整的,即如果整数的符号位正,则取靠近0的数,如果整数是负数,则取远离0的数或者也可以这样理解:被除数和除数处于0的一边就往靠0的方向取整,如果是处于0的两边就往远离0的方向取整。 了解了取整原理后,再理解取余就比较简单了 17%5 = 2 这个没什么好解释,大家都了解的 -17%5= 3 该等式的被除数和除数处于0的两边,那必然是往远离0的方向取余数,2+3 = 5按照公式5 的正余数是2,那2所对应的负余数是3,余数符号位与被除数保持一致,为3 17%-5 = -3 同上例,因为被除数的符号为负,所以余数为-3 -17%-5 = -2,被除数与除数是在同一边,则往0靠,所以余数为整余数2,因为被除数的符号为负, 所以余数为-2
全栈程序员站长
2022/08/24
1.7K0
SQL 计算账户余额
有一张简单的账户表 t_account,它记录了每次支出(或收入)的金额,只是缺了余额字段,我们需要在每笔账单后面计算出当时的账户余额。t_account 的部分数据:
白日梦想家
2020/11/26
1.8K1
以太坊查看账户余额
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战入门教程 以太坊去中心化电商应用开发实战 使用web3获取账户余额 可以使用JavaScript API来获取以太坊账户余额,例如在JavaScript代码中: web3.fromWei(web3.eth.getBalance(web3.eth.coinbase)); 如果你在geth控制台里,可以将web3.eth使用其eth别名代替: > web3.fromWei(eth.getBalance(et
用户1408045
2018/05/17
2.9K0
余额宝技术架构及演进
导读:余额宝开启了划时代的意义,开启了全民理财时代。上个月微博商业产品部联合天弘基金等金融技术团队策划了首届互联网金融系统沙龙,围绕在互联网金融过程中碰到技术架构问题与业界展开分享及交流。本文是陈雨在沙龙上的演讲,授权高可用架构首发。
Java高级架构
2018/08/16
1.3K0
余额宝技术架构及演进
余额宝竟然允许亏损了!
余额宝,是货币基金。它的底层是天弘余额宝货币(000198),属于天弘基金公司,天弘基金属于阿里系。
java架构师
2018/08/23
8650
余额宝竟然允许亏损了!
点击加载更多

相似问题

只有在3个月或3个月以上的余额为负数时,才有账户

14

获取余额为负数的天数

238

查询按城市获取每日负数余额

275

求前3个月余额之和的Oracle滞后函数

10

获取每个月的交易余额

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文