mysql 中仅 1 列的 ROLLUP

ROLLUP on only 1 column in mysql

我知道我们可以使用 ROLLUP 通过查询来获取组中的总和。 但是,是否可以在 group by query 中有超过 1 个 group by 列,但 ROLLUP 只能应用于一个列?

例如,默认 ROLLUP 行为:

SELECT year, country, product, SUM(profit) 
FROM sales
GROUP BY year, country, product WITH ROLLUP

| 2000 | USA     | Computer   |        1500 |
| 2000 | USA     | NULL       |        1575 |
| 2000 | NULL    | NULL       |        4525 |

所需输出(在第 3 列应用 RollUp,但在第 3 列和第 2 列应用 group by):

| 2000 | USA     | Computer   |        1500 |
| 2000 | USA     | NULL       |        1575 |

你可以使用 having 来限制输出。
在你的情况下,只需输入

having country is not null