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

MySQL中使用GROUP BY WITH ROLLUP时如何填空,mysql,group-by,rollup,Mysql,Group By,Rollup,我有一张带有id、desc和数量的表。我使用GROUPBY和ROLLUP来获得结果中的小计。 这是 在结果中,我想知道如何将由roll-up创建的行的description列设置为空 在我的实际场景中,我也有其他列,但只在一列上汇总。所以其他列应该是空的 我的结果如下 COALESCE(ID,'TOTAL') DESCRIPTION SUM 1 Chocolate Chip Cookies 17 2

我有一张带有id、desc和数量的表。我使用GROUPBY和ROLLUP来获得结果中的小计。 这是

在结果中,我想知道如何将由roll-up创建的行的description列设置为空

在我的实际场景中,我也有其他列,但只在一列上汇总。所以其他列应该是空的

我的结果如下

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;

选择c.可打印的_名称为“国家”,计数为* 来自注册 r.country=c.country\U id上的内部连接国家c
按国家分组

虽然此代码可以回答问题,但最好包含一些上下文,解释其工作原理和使用时间。从长远来看,只使用代码的答案是没有用的。