You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按公司ID分组对baza、tva求和并执行INSERT INTO操作

table.op1表按公司维度合并数据方案

全程通过SQL批量执行,适配1500条以上数据量,无需逐行手动计算,严格以CuiP作为公司唯一标识分组,仅对baza、tva字段做SUM求和,完全匹配示例计算规则。

  • 生成分组汇总结果并存入独立新表
    执行以下SQL创建独立汇总表,全程不改动原表数据,计算时自动按CuiP隔离不同公司的数据,不会出现跨公司混算:
CREATE TABLE op1_summary AS
SELECT
  CuiP,
  SUM(baza) AS baza,
  SUM(tva) AS tva
  -- 若原表有同公司下取值固定的字段(比如公司名称Society),直接在SELECT后补充字段名即可,不影响分组结果
FROM table.op1
GROUP BY CuiP;

计算逻辑和示例完全对齐:同一家公司的多条记录的tva、baza分别累加,比如Society1两条记录tva500、tva1000汇总为1500,baza100、baza500汇总为600,和预期结果一致。

  • 核对汇总结果后清空原表
    先抽查汇总表数据确认计算正确:
-- 查看前10条汇总结果做抽样校验
SELECT * FROM op1_summary LIMIT 10;

确认结果无误后清空原表,TRUNCATE执行效率高但不可回滚,务必完成校验再执行:

TRUNCATE TABLE table.op1;

如果需要预留回滚空间,可替换为DELETE FROM table.op1;,千级数据量下两者执行速度差异可忽略。

  • 将汇总结果写回原表
    执行插入语句把汇总表的计算结果导回原表:
INSERT INTO table.op1 (CuiP, baza, tva)
SELECT CuiP, baza, tva FROM op1_summary;

操作完成后可做全量一致性校验,确保无数据遗漏:

-- 对比清空原表前查询到的baza、tva总和,数值完全相等即代表计算无遗漏
SELECT SUM(baza) AS total_baza, SUM(tva) AS total_tva FROM table.op1;

如果后续不需要保留汇总表,可执行DROP TABLE op1_summary;删除即可。

内容的提问来源于stack exchange,提问作者Stefan3D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 02:45:35