[Datagear] [SQL]实现分组统计同时带汇总行的两种方式对比分析
在进行数据可视化开发时,我们经常会遇到用户提出的需求:除了展示按某字段分组统计的数据外,还希望看到一个“整体总计”的数据行。这种汇总行在报表、图表展示中极为常见,可以帮助用户快速理解全局数据水平。
实现这一功能的方法主要有两种:一种是使用 SQL 的 GROUP BY ... WITH ROLLUP
语法,另一种是通过 UNION
拼接方式构造汇总行。本文将对这两种方案进行对比分析,帮助开发者根据实际场景选择最合适的方法。
方式一:GROUP BY ... WITH ROLLUP
这种方式可以直接在 SQL 分组统计中加入一个“汇总行”,语法简单、执行效率高:
SELECT category, SUM(sales) AS total_sales
FROM orders
GROUP BY category WITH ROLLUP;
执行结果类似:
category | total_sales |
---|---|
A | 100 |