在 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 值了。