我现在搜索并尝试了很多,以弄清楚如何在运行此查询时替换表中的名称“NULL”:
SELECT
YEAR(orderdate) AS Years,
(CASE WHEN country = 'US' THEN 'US' ELSE 'WORLD' END) AS region,
SUM(netamount) AS TotSales
FROM orders o JOIN
customers c
ON o.customerid = c.customerid
GROUP BY (CASE WHEN country = 'US' THEN 'US' ELSE 'WORLD' END),YEAR(orderdate) WITH ROLLUP;
我得到这张表:http: //imgur.com/pzHa8fK
我想将 Null 分别替换为 'SubTotal' 和 'GrandTotal'。我试过了:
COALESCE(year(orderdate), 'Subtotal') years,...
和 'IFNULL(...)' 相同,但不是替换名称,而是创建一个额外的列,其中包含所有年份,并且 NULL 仍然保留。
任何的想法?