首页/数据/SQL 速查/分表结果合并统计
本包目录(311 条)

分表结果合并统计

按时间或业务分表后,用 UNION ALL 合并各分片再聚合;列结构必须一致,聚合放在合并之后。

SQL 速查数据更新于 2026-10-12

示例

示例
SELECT city, SUM(amount) AS total, COUNT(*) AS cnt
FROM (
    SELECT city, amount FROM orders_2023
    UNION ALL
    SELECT city, amount FROM orders_2024
) t
GROUP BY city
ORDER BY total DESC;
合并UNION ALL 保留全部分片行,不去重
聚合外层再 GROUP BY
结构分支列顺序与类型一致,可 CAST 对齐

易错点

  • 分片列类型不一致(INT 与 BIGINT)会隐式转换,统一显式类型
  • AVG 不能跨分片直接相加,需用 SUM/COUNT 重算或按行数加权

数据来源与参考

  • MySQL 8.0 Reference Manual · UNION
  • PostgreSQL Documentation · UNION
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌