Sql server SQL分组和总计
我的SQL助手正在度长假。我知道这很危险。我有一些表格,当加入这些表格时,它们会给我提供按地区、潜在资金和捕获资金细分的各种位置。感兴趣的列为区域/地区/潜力/实现。大约12个顶级地区和这些地区内的80个地区 我如何查询数据,以便在每个地区发生变化时,我能够中断每个地区的变化及其潜在总量和实现总量,以及相同的潜在总量和地区总量 比如:Sql server SQL分组和总计,sql-server,sql-server-2008,grouping,totals,Sql Server,Sql Server 2008,Grouping,Totals,我的SQL助手正在度长假。我知道这很危险。我有一些表格,当加入这些表格时,它们会给我提供按地区、潜在资金和捕获资金细分的各种位置。感兴趣的列为区域/地区/潜力/实现。大约12个顶级地区和这些地区内的80个地区 我如何查询数据,以便在每个地区发生变化时,我能够中断每个地区的变化及其潜在总量和实现总量,以及相同的潜在总量和地区总量 比如: Area1 District1 500 200 Area1 District1 200 null Total Row
Area1 District1 500 200
Area1 District1 200 null
Total Row 700 200
Area1 District2 200 200
Area1 District2 null null
Total Row 200 200
Area Total 900 400
Area2 District3......etc.........
编辑代码。如果每次AreaID或DistrictID发生变化时我都能得到一个总数,那么到目前为止,我已经得到了这个总数,我想我可以得到其余的
DECLARE @FiscalYear INT
SELECT @FiscalYear = 2014
SELECT tblFacilities.FacilityID,
tblAreas.AreaID,
tblFacilities.DistrictID,
tblFacilities.UnitName,
tblDistricts.DistrictName,
tblAreas.AreaName,
TotalSavings = (SELECT TotalSavings FROM ufn_RainbowTCReductionStrategies(tblFacilities.FacilityID, @FiscalYear))
FROM tblFacilities INNER JOIN tblDistricts ON tblFacilities.DistrictID = tblDistricts.DistrictID
INNER JOIN tblAreas ON tblDistricts.AreaID = tblAreas.AreaID
我喜欢知道足够危险:-)请提供您的表的结构和一些样本数据。您可以搜索的内容是
groupby
和SUM
或AVG
或任何其他聚合函数……您是否尝试过使用GROUPBY ROLLUP?我喜欢“知道足够危险”:)请提供表的结构和一些示例数据。您可以搜索的内容是groupby
和SUM
或AVG
或任何其他聚合函数……您是否尝试过使用groupby ROLLUP?带有ROLLUP的语法是。您应该使用ANSI标准的分组汇总(区域、地区)
。您应该使用ANSI标准分组汇总(区域、地区)
。
SELECT
Area,
District,
SUM(Potential),
SUM(Realized)
FROM
table
GROUP BY
Area,
District
WITH ROLLUP;