考虑使用 CTE 的查询:
WITH cte_0 AS (
SELECT SUM(col_0)
FROM table_0
WHERE condition_00
AND condition_01
),
cte_1 AS (
SELECT SUM(col_1)
FROM table_0
WHERE condition_10
AND condition_11
)
SELECT (
((SELECT * FROM ct_0) * 100) / (SELECT * FROM ct_1),
((SELECT * FROM ct_0) + 100) * (SELECT * FORM ct_1)
) FROM cte_0, cte_1
把最后一个排除在外是否正确FROM
?我是否可以通过这样的查询得到两个数字的元组?或者我是否需要一张新表来SELECT *
获取两个数字?
我刚刚开始我的第一个 PostgreSQL 项目,并且看到了不同的编写风格。热烈欢迎所有关于风格的评论。我还没有找到任何合适的在线 PostgreSQL 平台来测试查询。有吗?
问题已编辑以包括条件和更复杂的结果。