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

SQL Server按区域内国家统计发票数量的实现问题

按区域内国家统计发票数量的SQL解决方案

需求

统计指定区域(如欧洲)内各个国家的唯一发票数量(同一发票号多次出现仅计1次)。

现有问题

你当前的SQL语句按Customerregion和InvoiceNo分组,输出的是每条发票号的记录,没有按国家维度聚合;且COUNT(InvoiceNo)统计的是发票号的重复出现次数,而非去重后的实际发票数量。

正确SQL语句

SELECT 
    CustomerRegion,
    CustomerArea,
    COUNT(DISTINCT InvoiceNo) AS 发票数量
FROM [Data-Warehouse].[dbo].[Master]
WHERE CustomerRegion = 'Europe'
GROUP BY CustomerRegion, CustomerArea
ORDER BY CustomerRegion, CustomerArea

逻辑说明

  1. 分组维度:同时按CustomerRegion(区域)和CustomerArea(国家)分组,确保统计结果聚焦到「区域-国家」的层级。
  2. 去重统计:使用COUNT(DISTINCT InvoiceNo),自动过滤同一国家内重复的发票号,得到真实的发票数量。

预期输出(基于你提供的样本数据)

CustomerRegionCustomerArea发票数量
EuropeItaly1
EuropeNetherlands2
EuropeRomania2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 01:15:40