MySQL的WITH ROLLUP語法是一種在分組查詢結(jié)果中包含總計行的功能。以下是其基本語法:
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...
HAVING condition
ORDER BY column1, column2, ...;
其中,WITH ROLLUP
子句可以添加到查詢中,以便在結(jié)果集中包含每個分組的小計和總計行。
要在查詢結(jié)果中包含總計行,只需在查詢的最后添加WITH ROLLUP
子句即可。這將自動為每個分組生成小計和總計行。
例如,假設(shè)有一個名為sales
的表,其中包含region
(地區(qū))和sales_amount
(銷售額)列。以下查詢將按地區(qū)分組并計算每個地區(qū)的總銷售額,同時包含總計行:
SELECT region, SUM(sales_amount) AS total_sales
FROM sales
GROUP BY region
WITH ROLLUP;
這將返回類似以下的結(jié)果集:
region | total_sales |
---|---|
North | 1000 |
South | 1500 |
East | 2000 |
West | 1500 |
Total | 6000 |
請注意,WITH ROLLUP
子句會生成額外的總計行,因此查詢結(jié)果集中的行數(shù)可能會比原始查詢多。