繁体   English   中英

Postgresql 如何在 jsonb 中按月份求和(值)并将它们分组?

Postgresql how can I sum(values) and group them by the month within jsonb?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

Postgres 查询:

SELECT
  ((data->>'date')) AS time,
  ((data->>'totalAmount')) as values
FROM invoices

输出:

身份证 日期 总金额
1 2021-01-16 13
2 2021-01-12 52
3 2020-12-17 11
4 2020-12-08 3

表:

CREATE TABLE invoices (
    id serial NOT NULL PRIMARY KEY,
    data jsonb NOT NULL
);

我试图按月实现总和(值):

身份证 日期 总金额
1 2021-01 65
2 2020-12 14

我知道 postgres 提供:

  • 提取月份
  • date_trunc

似乎不适用于 jsonb。

1 个回复

您需要将文本值转换为date然后您可以例如使用to_char()从中获取月份:

select to_char((data->>'date')::date, 'yyyy-mm') AS month,
       sum((data->>'totalAmount')::int) as values
from invoices
group by to_char((data->>'date')::date, 'yyyy-mm')
2 如何按月汇总总金额并按类别分组

我想按每个月对每个类别进行分组。 我似乎无法弄清楚如何做到这两点。 我可以按月获取总数,也可以按每个类别获取总数,但如何将它们合并? 我尝试了 groupby 函数和 grouper 函数。 我只得到类别分组或月份分组的总和,但不能同时得到两者。 ...

3 如何总结客户,按性别分组,然后按月分组?

我在 Pandas 中有以下数据框,其中包含有关我的客户以及他们在我的网站上购买商品的月份的信息: 我需要知道每个月有多少男人和女人买东西。 换句话说,我需要将我的原始数据框变成这样: 我怎么能那样做? 我尝试了几种不同的方法,但似乎都不起作用。 谢谢! ...

7 Postgresql JSONB内联数组值

我试图弄清楚对象数组中特定字段的内联总和的查询语法是什么。 我的数据是这样的 我想要达到的结果是 据我所知 但它一直在询问我想避免的GROUP BY子句。 我想知道是否可以在没有group by子句的情况下在行级别执行此聚合,如果可以,该语法可能是什么样? 先感 ...

9 如何在postgres中对jsonb值求和?

我正在使用 postgres,我需要对 jsonb 字段的值求和 所以我需要对所有记录的 total 字段的所有值求和,然后我需要对它们使用聚合函数,如 min、max 和 avg 我开始了这样的查询 这之后我很困惑。 有没有更好的方法来解决这个问题? 在 jsonb 中添加所有值后,我 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM