有沒有一種方法可以顯式指定一個空的聚合,例如以下內容:
SELECT NULL AS Product, SUM(Revenue) FROM Sales GROUP BY ()
而不是沒有GROUP BY子句的隱式版本:
SELECT NULL AS Product, SUM(Revenue) FROM Sales
示例輸入/輸出:
WITH Sales (Product, Revenue) AS (VALUES ('a',10),('b',20))
select NULL Product, SUM(Revenue) from Sales;
┌─────────┬──────────────┐
│ product ┆ sum(revenue) │
╞═════════╪══════════════╡
│ ┆ 30 │
└─────────┴──────────────┘
查詢按原樣正確,我只是想知道是否有辦法GROUP BY明確表示。這是一個非常基本的下游決議器,它根據單詞GROUP BY是否在規范化查詢中來檢查它是否是聚合查詢。
uj5u.com熱心網友回復:
您可以使用運算式進行分組。因此,按常量運算式分組等效于將其從 group by 陳述句中洗掉
即以下是等效的:
WITH Sales (Product, Revenue) AS (VALUES ('a',10),('b',20))
select NULL Product, SUM(Revenue) from Sales;
和
WITH Sales (Product, Revenue) AS (VALUES ('a',10),('b',20))
select NULL Product, SUM(Revenue) from Sales group by 1=1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/350032.html
標籤:sql PostgreSQL
