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
我知道我们可以使用 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