计算JSONB键的加权平均值
在我的一张表中,我具有以下结构,
ID LOG
1 [{"x":12,"W":1}, {"x":24,"W":2}]
2 [{"x":14,"W":1.02}, {"x":20,"W":2.2}, {"x":11,"W":1.022}, {"x":45,"W":62.2}]
我正在计算应用程序端的加权平均值,我想创建一个生成的列,称为withing_avg_x
,每当数据附加到日志列。使用生成的列还可以完成两个问题,我也可以在JSONB符号上丢失,以计算
sum(x*w)/sum(w)
?
In one of my tables I have the following structure,
ID LOG
1 [{"x":12,"W":1}, {"x":24,"W":2}]
2 [{"x":14,"W":1.02}, {"x":20,"W":2.2}, {"x":11,"W":1.022}, {"x":45,"W":62.2}]
I am calculating weighted average of x on application side, I would like to create a Generated Column called weighted_avg_x
that is updated every time data is appended to LOG
column. Two questions can it be done using generated columns also I am kind of lost on the jsonb notation to calculate sum(x*w)/sum(w)
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要一个不可变的函数,该功能可用于定义生成的列:
Postgres 12+中的解决方案。在早期版本中,您需要定义触发器。
在
You need an immutable function that may be used to define generated column:
The solution is possible in Postgres 12+. In earlier versions you need to define a trigger.
Test it in db<>fiddle.