如何解决在这种情况下,“ OVERORDER BY ...”如何以及为什么起作用?
我是sql的新手,我有一个与分配给我的任务有关的问题:
我想了解每次更改后帐户中有多少钱的历史记录。
让我们这样说:
假设有此表“交易”:
id | account_id | change
---|------------|-------
1 | 1 | 500
2 | 2 | 300
3 | 1 | -100
4 | 2 | 100
5 | 2 | -300
我想要account_id = 1的结果:
500
400
结果为account_id = 2:
300
400
300
我知道这可以通过以下方法实现,因为我找到并尝试了它:
SELECT SUM(change) OVER(ORDER BY id) FROM Transactions WHERE account_id = 1;
但是由于我自己并没有提出这个建议,所以只是想使用它,所以我想了解该解决方案的工作方式和原因,并且还想知道是否有其他方法可以达到相同的解决方案。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。