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

SQL Server如何用Group by+SUM分组求和并存入Temp Table

SQL Server 发票分组统计写入临时表方案

核心实现代码

替换代码里的源表名为你实际存储发票记录的表名即可直接运行:

-- 清理已存在的同名临时表,避免重复执行报错
IF OBJECT_ID('tempdb..#InvoiceStat_Temp') IS NOT NULL
DROP TABLE #InvoiceStat_Temp;

-- 按规则分组统计并写入临时表
SELECT
  NameOfCompany,
  BaseOfVAT,
  Type,
  SUM(Tax1) AS TotalTax1,
  SUM(Tax2) AS TotalTax2,
  SUM(Tax3) AS TotalTax3
INTO #InvoiceStat_Temp
FROM 替换为你的实际发票表名
GROUP BY NameOfCompany, BaseOfVAT, Type;

实现说明

  • 严格按照需求指定的三个维度做分组:NameOfCompany(企业名称)、BaseOfVAT(增值税计税基数)、Type(发票类型),所有非聚合字段全部加入GROUP BY子句,完全符合SQL Server语法要求,不会触发字段未聚合/未在分组子句的报错
  • 三类税额字段直接使用SUM()做分组合计,字段别名明确标识为汇总值,方便后续关联、查询使用
  • 采用SELECT INTO方式生成临时表,无需提前手动定义临时表结构,SQL Server会自动根据源表字段类型、长度匹配生成对应临时表结构
  • 脚本开头增加临时表存在性判断,重复执行不会抛出对象已存在的异常

结果校验

执行完统计后,可以通过条件过滤查询临时表,核对汇总值是否符合预期,比如校验企业X下Type=1的统计结果:

SELECT * FROM #InvoiceStat_Temp WHERE NameOfCompany = '企业X' AND Type = 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:27:25