【问题标题】:How to fill blank while using GROUP BY WITH ROLLUP in MySQL在 MySQL 中使用 GROUP BY WITH ROLLUP 时如何填充空白
【发布时间】:2014-07-09 11:36:25
【问题描述】:

我有一张带有 id、desc、数量的表格。我使用 GROUP BY WITH ROLLUP 来获得结果中的 subTotal。 这里是SQL Fiddle link

在结果中,我想知道如何将汇总创建的行的“描述”列设为空白

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

我的结果应该如下所示。

COALESCE(ID,'TOTAL')    DESCRIPTION                 SUM

1                       Chocolate Chip Cookies      17
2                       Oatmeal Cookies             33
3                       Snaker Cookies              49
TOTAL                                               99

【问题讨论】:

    标签: mysql group-by rollup


    【解决方案1】:

    这是一种方法:

    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;
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,纯代码的答案没有用处。
      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 2012-03-01
      • 2018-11-27
      • 2021-03-02
      • 2011-01-29
      • 1970-01-01
      • 2022-08-18
      • 1970-01-01
      相关资源
      最近更新 更多