以下查询产生了“关系模板不存在”错误。如果您能帮助弄清楚如何使 WITH 子句起作用,那将是非常好的。我们正在运行 postgresql 8.0.2。谢谢!
WITH tempTable AS (
SELECT AVG(subtotal_price) AS AverageValue
FROM orders
)
SELECT subtotal_price
FROM orders
WHERE orders.subtotal_price > tempTable.AverageValue
最佳答案
您应该在 CTE 上使用子查询来获取平均值:
WITH tempTable AS
(
SELECT AVG(subtotal_price) AS AverageValue
FROM orders
)
SELECT subtotal_price
FROM orders
WHERE subtotal_price > (SELECT AverageValue FROM tempTable);
但是,这是使用 AVG
作为分析函数的另一种方法:
SELECT subtotal_price
FROM
(
SELECT subtotal_price, AVG(subtotal_price) OVER () AverageValue
FROM orders
) t
WHERE subtotal_price > AverageValue;
关于sql - 查询 WITH 子句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50939076/