Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有不同粒度级别总和的嵌套SQL查询_Sql_Sql Server - Fatal编程技术网

具有不同粒度级别总和的嵌套SQL查询

具有不同粒度级别总和的嵌套SQL查询,sql,sql-server,Sql,Sql Server,我希望有一个结果集,对事实表中的度量进行汇总。事实表是最细粒度的城市。我想让结果集显示一个给定城市的人口,以及它旁边的一列中的州人口。州人口是所有城市人口的总和。事实表具有城市id和州id 结果集将具有以下列 城邦城邦人口城邦人口你肯定需要这样的东西 select city , CityPopulation = count(*) over(partition by city) , State , StatePopulation = count(*) over(partit

我希望有一个结果集,对事实表中的度量进行汇总。事实表是最细粒度的城市。我想让结果集显示一个给定城市的人口,以及它旁边的一列中的州人口。州人口是所有城市人口的总和。事实表具有城市id和州id

结果集将具有以下列


城邦城邦人口城邦人口

你肯定需要这样的东西

select city
    , CityPopulation = count(*) over(partition by city)
    , State
    , StatePopulation = count(*) over(partition by state)
from YourTable
group by city
    , State
order by state
    , city

使用列格式发布表结构,并提供一些数据示例。您尝试过什么/您尝试过什么?您使用的是什么版本的sql server?有关您应该提供的信息类型的一些想法,请参阅。听起来您只是需要在窗口函数中的分区中使用不同的子句。@Larnu似乎又回到了同一页上。这就是我问这个版本的原因希望它们不在SQLServer2005上,然后@SeanLange在去年取消了我的最后一个2008实例,但我确信语法是在2008年引入的。尽管如此,有多少人仍在2008年或之前,这让我感到惊讶。