在 PostgreSQL(通常簡稱為 PgSQL)中,處理 GROUP BY 中的 NULL 值需要使用聚合函數和條件表達式
假設您有一個名為 “sales_data” 的表,其中包含以下列:id、product_name 和 revenue。product_name 列可能包含 NULL 值。
CREATE TABLE sales_data (
id SERIAL PRIMARY KEY,
product_name VARCHAR(255),
revenue NUMERIC(10, 2)
);
現在,假設您想計算每個產品的總收入,并將 NULL 值視為 “Unknown” 分組。可以使用以下查詢實現這一目標:
SELECT
COALESCE(product_name, 'Unknown') AS product_group,
SUM(revenue) AS total_revenue
FROM
sales_data
GROUP BY
product_group
ORDER BY
total_revenue DESC;
在此查詢中,我們使用了 COALESCE
函數來處理 NULL 值。COALESCE
函數接受多個參數,并返回第一個非 NULL 參數。在這種情況下,如果 product_name 為 NULL,則將其替換為字符串 ‘Unknown’。然后,我們按 product_group 對結果進行分組和排序。
這樣,您就可以在 PgSQL 中處理 GROUP BY 的 NULL 值了。