sql - Rails:在添加最后一个值时进行分组和求和(斐波那契)
问题描述
我正在尝试对每月的报价总和进行分组,同时添加最后的总和。
例如:
Jan: 300€
Fev: 200€
Mars: 100€
该组应该返回的是:
Jan:300€
Fev: 500€ (200 + Jan's 300)
Mars: 600€ (100 + Fev's 500)
当前 SQL:
current_user.quotes.group_by_month(:created_at, last: 12).sum(:price)
我正在使用groupdate
宝石。
谢谢。
解决方案
如果使用postgresql
,您可以使用windows 功能
UNBOUNDED PRECEDING
第一行,CURRENT ROW
当前行- 使用
sum
函数累积
像这样。
select name,sum(price)
over(order by (select 1) ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) "price"
from T
sqlfidde:http ://sqlfiddle.com/#!17/763e3/7
推荐阅读
- c++ - Cmake 找不到 cuda.h 文件
- java - 将 Web 元素导入 Excel 时出现空指针异常
- php - SQLSTATE[HY000]:一般错误:1215 无法添加外键约束 Laravel 5.4
- python - 改进此素数列表实施
- java - Dagger 2 如何解决构造函数依赖
- c++ - 使用ZMQ接收消息时,ZMQ总是出错概率
- java - 无法从 msql 表更新结果集
- ios - Location Based App using a sliding hamburger menu with buttons that will filter map (iOS MapKit) search results Xcode
- css - 为什么 Bootstrap 不允许我在 ASP.NET MVC 页面中的下拉菜单上设置边距?
- haskell - Haskell - 使 Int 成为我班级的一个实例