MySQL的WITH ROLLUP语法是一种在分组查询结果中包含总计行的功能。以下是其基本语法:
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...
HAVING condition
ORDER BY column1, column2, ...;
其中,WITH ROLLUP
子句可以添加到查询中,以便在结果集中包含每个分组的小计和总计行。
要在查询结果中包含总计行,只需在查询的最后添加WITH ROLLUP
子句即可。这将自动为每个分组生成小计和总计行。
例如,假设有一个名为sales
的表,其中包含region
(地区)和sales_amount
(销售额)列。以下查询将按地区分组并计算每个地区的总销售额,同时包含总计行:
SELECT region, SUM(sales_amount) AS total_sales
FROM sales
GROUP BY region
WITH ROLLUP;
这将返回类似以下的结果集:
region | total_sales |
---|---|
North | 1000 |
South | 1500 |
East | 2000 |
West | 1500 |
Total | 6000 |
请注意,WITH ROLLUP
子句会生成额外的总计行,因此查询结果集中的行数可能会比原始查询多。