微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算几年内每个项目每月的平均价格 Postgresql

如何解决计算几年内每个项目每月的平均价格 Postgresql

我的 postgresql 数据库中有这个表,

item_code |    date    | price
==============================
aaaaaa.1  |2019/12/08  | 3.04
bbbbbb.b  |2019/12/08  | 19.48
261893.c  |2019/12/08  | 7.15
aaaaaa.1  |2019/12/17  | 4.15
bbbbbb.2  |2019/12/17  | 20
xxxxxx.5  |2019/03/12  | 3
xxxxxx.5  |2019/03/18  | 4.5

我如何计算一年中每个月的每个项目的平均值。所以我得到的结果是:

item_code |  month  | price
==============================
aaaaaa.1  | 2019/12 | 3.59
bbbbbb.2  | 2019/12 | 19.74
261893.c  | 2019/12 | 7.15
xxxxxx.5  | 2019/03 | 3.75

我已经尝试寻找并应用许多替代方案,但我仍然没有明白这一点,非常感谢您的帮助,因为我是 postgresql 的新手。

解决方法

我不明白这个问题与移动平均值有何关系。看来你只想要group by

select item_code,date_trunc('month',date) as date_month,avg(price) as price
from mytable
group by item_code,date_month

这将 date_month 作为 date,截断到月份的第一天 - 我发现这比您建议的格式更有用。但你确实想要:

to_char(date,'YYYY/MM') as date_month

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。