答案 0 :(得分:3)
只是从问题的评论中移植它。
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
答案 1 :(得分:1)
找到答案:
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
答案 2 :(得分:0)
也许更清楚一点。
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)
答案 3 :(得分:0)
您也可以这样命名片段。
User
|> group_by(fragment("month"))
|> select([u], {fragment("date_part('month', ?) as month", u.inserted_at), count(u.id)})
|> Repo.all()
答案 4 :(得分:0)
我正在使用它,因为我正在获取浮点数返回值(例如6.0而不是6)
User
|> group_by(fragment("month"))
|> select([u], {fragment("date_part('month', ?)::int as month", u.inserted_at), count(u.id)})
|> Repo.all()