postgresql 中的临时表变量

只愿长相守 提交于 2020-01-18 22:20:56

类似mssql中的临时表变量一样,在postgresql 中可以使用with 来定义临时表变量

WITH regional_sales AS ( --reginal_sales 是临时表变量的表名
    SELECT region, SUM(amount) AS total_sales
    FROM orders
    GROUP BY region
), top_regions AS ( -- 这是定义的第二个临时表变量
    SELECT region
    FROM regional_sales
    WHERE total_sales > (SELECT SUM(total_sales)/10 FROM regional_sales)
)
-- 主语句
SELECT region,
       product,
       SUM(quantity) AS product_units,
       SUM(amount) AS product_sales
FROM orders
WHERE region IN (SELECT region FROM top_regions) -- 使用临时表变量
GROUP BY region, product;

补充:使用临时表变量查询,可以使代码更清晰,并且避免编写重复的代码.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!