在Postgres中平均XML值

时间:2018-02-15 16:11:17

标签: xml postgresql xpath

我想知道是否有人能给我一个在Postgresql中平均XML值的例子?我的XML的结构为<game><price>12</price></game>,并使用xpath('//price')来提取值,但我似乎无法提出查询来平均值。

感谢。

1 个答案:

答案 0 :(得分:1)

基于此表结构...

CREATE TEMPORARY TABLE tmp_xml (game XML);
INSERT INTO tmp_xml (game) VALUES ('<game><price>12</price></game>'::XML);
INSERT INTO tmp_xml (game) VALUES ('<game><price>11</price></game>'::XML);
INSERT INTO tmp_xml (game) VALUES ('<game><price>13</price></game>'::XML);

...你可以从这样的价格中获得平均值:

SELECT AVG((XPATH('//price/text()', game))[1]::TEXT::NUMERIC) FROM tmp_xml;