我正在尝试以下操作:
query =
from s in State,
group_by:
fragment("date_part(?, ?)", ^group, s.timestamp_start),
select:
{fragment("date_part(?, ?)", ^group, s.timestamp_start), count(s.id)}
Repo.all(query)
group
可能是['minute'
,'hour'
,'day'
]之一。
但是,出现以下错误:
错误42803(grouping_error)列“ s0.timestamp_start”必须出现在GROUP BY子句中或在聚合函数中使用]]
但是如果我在
s.timestamp_start
子句中添加group_by
,则不会得到预期的结果,因为日期是按timestamp_start
分组的,而不是按定义的部分分组的。
[我如何做到这一点而不必为每个group
可能性指定查询(在fragment
内部传递文字值)?
[我正在尝试以下操作:查询=来自州内的s,group_by:fragment(“ date_part(?,?)”,^ group,s.timestamp_start),选择:{fragment(“ date_part(?,?)” ,^ group,s ....
您应命名该片段,并在group_by
子句中使用此名称。如下所示应该可以工作。