mysql - 按数据库计算的内容分组
问题描述
在将旧的 PHP 应用程序转换为 Rails 应用程序的过程中,我偶然发现了这段 SQL 代码:
select week(datum)+1 as kw, year(datum) as jahr,
count(*) as anzahl,
sum(dv) as dv
from forecast
group by kw, jahr
order by jahr, kw;
命名是德语:
- 日期:日期
- kw:日历周
- 贾尔:年
- anzahl:计数
我不知道也无法在任何文档中找到如何按kw
ActiveRecordjahr
分组。有可能实现这一点还是我必须使用 SQL 代码?
解决方案
你有像 Forecast 这样的模型名称吗?我认为有可能做这样的事情:
Forecast.select(Arel.sql("week(datum)+1 as kw, year(datum) as jahr, count(*) as anzahl, sum(dv) as dv")).group(Arel.sql('kw, jahr')).order(Arel.sql('jahr, kw'))
或者您可以使用 Arel 来构建查询。
推荐阅读
- php - 使用子查询中的计数来确定行是否应包含在结果行中
- postman - 测试在邮递员中运行良好,但在纽曼中失败。连接到 VPN 后,我正在运行测试,因为 47 个 API 中的 2 个 API 仅在连接到 VPN 后才能工作
- aggregate-functions - 跨 Apache Pulsar 函数访问状态
- c# - 如何从 Ignite 进行文本查询
- java - 如何在我的网站目录中运行 spring boot docker 映像?
- javascript - 在数组的负索引中添加元素?
- vue-component - 如何使用 v-card 看到 v-row 的效果?
- c - 自然对数 (ln) 和取幂的实现问题
- macos - 为什么不能在 jupyter notebook ,mac os 中运行 pyspark
- c++ - 如何使用带有`--gcov-tool`标志的lcov?