php - am 的 over() 子句错误计算基于 id 到 mysql 中下一个或上一个值的行
问题描述
我遇到了一个问题,即我的查询没有执行,并且在 over 子句附近出现错误,但我想要如下图所示的结果:
我的意思是我想要像 25000-9000 =16000 这样的结果;16000-5000 =11000;像那些家伙一样显示输出,这是我的查询
query:
SELECT s.id, s.cust_id,
s.package_name,s.pending_amount,s.pack_received_amount, s.return_amount,
s.payment_type,s.total_package_amount, SUM('s.pending_amount') OVER (ORDER
BY s.id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW AS s.balance FROM
payment s WHERE s.cust_id = S1307 and s.package_name= switzerland
我的错误是这里的图片截图:
解决方案
SELECT Total,
Received,
CASE WHEN @balance = 0 THEN
(@balance := Total - Received)
ELSE
@balance := @balance - Received
END AS Balance
FROM
Table1,
(select @balance:=0) as t2
表格1
Total Received
-----------------
25000 9000
25000 5000
输出
Total Received Balance
----------------------------
25000 9000 16000
25000 5000 11000
演示
推荐阅读
- python - 在 Redis 上存储和访问复杂 JSON 对象的最快和最佳方式
- javascript - jsReport不通过javascript读取数据
- ios - iOS AudioQueue 播放 AAC 数据总是延迟 2-3 秒
- perl - 使用 XML::LibXML 和 Perl 查找/替换值
- bash - 如何将命令的输出提供给提示符?
- android - 文本输入 EditText 数字不起作用?仅显示“abcxyz”之类的字符,并且还需要避免在edittext(TextInputLayout)中使用数字和符号
- javascript - 使用 JavaScript 切换 CSS 类 - 错误
- javascript - javascript中的移动按钮
- php - readdir while循环未执行
- python - Pyspark - 调用空数据框时 withColumn 不起作用