Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 对datetime字段按月进行分组并返回元组列表的EXTO查询_Elixir_Phoenix Framework_Ecto - Fatal编程技术网

Elixir 对datetime字段按月进行分组并返回元组列表的EXTO查询

Elixir 对datetime字段按月进行分组并返回元组列表的EXTO查询,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,作为附加问题: 如何更改查询以返回包含月份整数和分组计数的元组列表?因此,您的结果如下所示: [{1, 2}, {2, 2}, {3, 2}, {4,2}] 这是从对这个问题的评论中得出的 query |> group_by([e], fragment("date_part('month', ?)", e.inserted_at)) |> select([e], {fragment("date_part('month', ?)", e.inserted_at), count(e

作为附加问题:

如何更改查询以返回包含月份整数和分组计数的元组列表?因此,您的结果如下所示:

[{1, 2}, {2, 2}, {3, 2}, {4,2}]

这是从对这个问题的评论中得出的

query 
|> group_by([e], fragment("date_part('month', ?)", e.inserted_at)) 
|> select([e], {fragment("date_part('month', ?)", e.inserted_at), count(e.id)}) 
|> Repo.all

这是从对这个问题的评论中得出的

query 
|> group_by([e], fragment("date_part('month', ?)", e.inserted_at)) 
|> select([e], {fragment("date_part('month', ?)", e.inserted_at), count(e.id)}) 
|> Repo.all
找到了答案:

query 
|> group_by([e], fragment("date_part('month', ?)", e.inserted_at)) 
|> select([e], {fragment("date_part('month', ?)", e.inserted_at), count(e.id)}) 
|> Repo.all
找到了答案:

query 
|> group_by([e], fragment("date_part('month', ?)", e.inserted_at)) 
|> select([e], {fragment("date_part('month', ?)", e.inserted_at), count(e.id)}) 
|> Repo.all

也许更清楚一点

query = from u in User,
  group_by: fragment("date_part('month', ?)", u.inserted_at),
  select:   {fragment("date_part('month', ?)", u.inserted_at), count(u.id)}
Repo.all(query)

也许更清楚一点

query = from u in User,
  group_by: fragment("date_part('month', ?)", u.inserted_at),
  select:   {fragment("date_part('month', ?)", u.inserted_at), count(u.id)}
Repo.all(query)

您也可以这样命名片段

User
|> group_by(fragment("month"))
|> select([u], {fragment("date_part('month', ?) as month", u.inserted_at), count(u.id)})
|> Repo.all()

您也可以这样命名片段

User
|> group_by(fragment("month"))
|> select([u], {fragment("date_part('month', ?) as month", u.inserted_at), count(u.id)})
|> Repo.all()

我使用这个,因为我得到的是浮点返回值(比如.6.0而不是6)


我使用这个,因为我得到的是浮点返回值(比如.6.0而不是6)


请把其他问题的相关部分包括在内。如果有人对你自己有类似的需求,你应该考虑把答案张贴出来。请把其他问题的相关部分包括在内。如果别人对你自己有类似的需求,你应该考虑把答案张贴出来。有人知道是否有一个干燥器解决方案。这个?@StevePallen你可以把
片段
放到一个自定义宏中,把它弄干一点()谢谢@MikeBuhot,这会有点帮助。有人知道有没有干燥剂解决这个问题吗?@StevePallen你可以把
片段
放到一个自定义宏中,把它弄干一点()谢谢@MikeBuhot,这会有点帮助。