我有一个包含 id、desc、数量的表。我使用 GROUP BY AND ROLLUP 来获取结果中的小计。 这是 SQL Fiddle 链接
在结果中,我想知道如何将汇总创建的行的“描述”列设为空白
在我的实际场景中,我还有其他列,但仅汇总在一列上。所以其他列应该为空。
我的结果应该如下所示。
COALESCE(ID,'TOTAL') DESCRIPTION SUM
1 Chocolate Chip Cookies 17
2 Oatmeal Cookies 33
3 Snaker Cookies 49
TOTAL 99
这是一种方法:
SELECT COALESCE(id,'TOTAL'),
(case when id is null then null else description end) as description,
sum(qty) AS SUM
FROM item
group by id WITH ROLLUP;
SELECT COALESCE(ID, 'TOTAL') AS ID, 产品, SUM(数量) AS TotalQuantity 来自销售 按汇总分组(ID,产品);
在这里, 将 ID 列中的 NULL 替换为汇总行中的“TOTAL”。 通过避免汇总行中出现 NULL 来帮助创建更有意义的输出。
SELECT c.printable_name AS '国家', count(*) AS '#' FROM 注册 r INNER JOIN 国家 c ON r.country = c.country_id 按国家分组