如何在 MySQL 中使用 GROUP BY WITH ROLLUP 时填空

问题描述 投票:0回答:3

我有一个包含 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
mysql group-by rollup
3个回答
2
投票

这是一种方法:

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;

0
投票

SELECT COALESCE(ID, 'TOTAL') AS ID, 产品, SUM(数量) AS TotalQuantity 来自销售 按汇总分组(ID,产品);

在这里, 将 ID 列中的 NULL 替换为汇总行中的“TOTAL”。 通过避免汇总行中出现 NULL 来帮助创建更有意义的输出。


-1
投票

SELECT c.printable_name AS '国家', count(*) AS '#' FROM 注册 r INNER JOIN 国家 c ON r.country = c.country_id 按国家分组

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.