Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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 2012 - Fatal编程技术网

SQL中的“同类”分析,即对所有门店(不包括新门店和已关闭门店)的销售额求和

SQL中的“同类”分析,即对所有门店(不包括新门店和已关闭门店)的销售额求和,sql,sql-server-2012,Sql,Sql Server 2012,我想在SQL Server中进行分析。例如,我想总结整个时间段内销售额>0的所有门店的销售额,不包括新店或已关闭门店的销售额。有没有简单的方法 只有门店1和门店3的销售额应计入总额,因为只有这两家门店在所有三个期间都有销售额。应排除存储2,因为它是新的,并且在第一个期间未运行。应排除存储4,因为它已关闭,但未在时段3内运行。此代码应返回预期结果: select period, sum(sales) as Sum from ( select period, count(*) over (pa

我想在SQL Server中进行分析。例如,我想总结整个时间段内销售额>0的所有门店的销售额,不包括新店或已关闭门店的销售额。有没有简单的方法


只有门店1和门店3的销售额应计入总额,因为只有这两家门店在所有三个期间都有销售额。应排除存储2,因为它是新的,并且在第一个期间未运行。应排除存储4,因为它已关闭,但未在时段3内运行。

此代码应返回预期结果:

select
period,
sum(sales) as Sum
from
(
 select
 period,
 count(*) over (partition by store) as period_count,
 sales from table1
) data
where data.period_count=3
group by period
在以下条件中:其中data.period_count=3,3是存储必须存在的所需周期数,因此它排除了新存储和已关闭的存储

以下是使用CTE的代码-处理给定门店和期间的多个销售记录,并显示该期间的门店编号:

;with table2 as
(select 
 store, 
 period,
 count(*) over (partition by store) as period_count,
 sum(sale) as sale 
 from table1
 group by store, period)
select
period,
count(store) as StoreNumber,
sum(sale) as Sum
from table2
where 
table2.period_count=(select top 1
count(*) from table2
group by store
order by count(*) desc
)
group by period

此代码应返回预期结果:

select
period,
sum(sales) as Sum
from
(
 select
 period,
 count(*) over (partition by store) as period_count,
 sales from table1
) data
where data.period_count=3
group by period
在以下条件中:其中data.period_count=3,3是存储必须存在的所需周期数,因此它排除了新存储和已关闭的存储

以下是使用CTE的代码-处理给定门店和期间的多个销售记录,并显示该期间的门店编号:

;with table2 as
(select 
 store, 
 period,
 count(*) over (partition by store) as period_count,
 sum(sale) as sale 
 from table1
 group by store, period)
select
period,
count(store) as StoreNumber,
sum(sale) as Sum
from table2
where 
table2.period_count=(select top 1
count(*) from table2
group by store
order by count(*) desc
)
group by period

此代码应返回预期结果:

select
period,
sum(sales) as Sum
from
(
 select
 period,
 count(*) over (partition by store) as period_count,
 sales from table1
) data
where data.period_count=3
group by period
在以下条件中:其中data.period_count=3,3是存储必须存在的所需周期数,因此它排除了新存储和已关闭的存储

以下是使用CTE的代码-处理给定门店和期间的多个销售记录,并显示该期间的门店编号:

;with table2 as
(select 
 store, 
 period,
 count(*) over (partition by store) as period_count,
 sum(sale) as sale 
 from table1
 group by store, period)
select
period,
count(store) as StoreNumber,
sum(sale) as Sum
from table2
where 
table2.period_count=(select top 1
count(*) from table2
group by store
order by count(*) desc
)
group by period

此代码应返回预期结果:

select
period,
sum(sales) as Sum
from
(
 select
 period,
 count(*) over (partition by store) as period_count,
 sales from table1
) data
where data.period_count=3
group by period
在以下条件中:其中data.period_count=3,3是存储必须存在的所需周期数,因此它排除了新存储和已关闭的存储

以下是使用CTE的代码-处理给定门店和期间的多个销售记录,并显示该期间的门店编号:

;with table2 as
(select 
 store, 
 period,
 count(*) over (partition by store) as period_count,
 sum(sale) as sale 
 from table1
 group by store, period)
select
period,
count(store) as StoreNumber,
sum(sale) as Sum
from table2
where 
table2.period_count=(select top 1
count(*) from table2
group by store
order by count(*) desc
)
group by period

你也可以检查这个。我还添加了Maxperiod


你也可以检查这个。我还添加了Maxperiod


你也可以检查这个。我还添加了Maxperiod


你也可以检查这个。我还添加了Maxperiod



可以指定表结构和列吗?到目前为止,您尝试了什么?是否可以指定表结构和列?到目前为止,您尝试了什么?是否可以指定表结构和列?到目前为止,您尝试了什么?是否可以指定表结构和列?到目前为止,您尝试了什么?您能给出一个如何应用MAXPeriod的建议吗?这样无论周期数多少,查询都能正常工作?您可以将条件数据。周期计数=3更改为数据。周期计数=从表1中选择前1个计数*按存储顺序分组按计数*描述。应该从现有记录中获取最大数量。如何计算每个期间的存储数量?如果我们进行类似分析,则每个期间的数字应相同。请注意,应在期间内对门店变量进行计数。我在同一期间内有几家门店的销售记录,即期间1中的门店1可以销售5次。请注意,对门店数量进行计数可能不足以信任结果。例如,如果在给定的时间段内,一家店铺关闭,另一家店铺打开,存储计数不会更改,但您将比较来自不同存储集的数据。如果存储打开或关闭,其周期计数将小于最大可能数,其他存储将具有更多的周期,因此不会包含在分析中。请您给出如何应用MAXPeriod的建议,以便无论何时都可以执行查询周期数?您可以将条件数据更改为数据。周期计数=3为数据。周期计数=从表1中选择前1个计数*按存储顺序按计数*描述分组。应该从现有记录中获取最大数量。如何计算每个期间的存储数量?如果我们进行类似分析,则每个期间的数字应相同。请注意,应在期间内对门店变量进行计数。我在同一期间内有几家门店的销售记录,即期间1中的门店1可以销售5次。请注意,对门店数量进行计数可能不足以信任结果。例如,如果在给定的时间段内,一家店铺关闭,另一家店铺打开,存储计数不会更改,但您将比较来自不同存储集的数据。如果存储打开或关闭,其周期计数将小于最大可能数,其他存储将具有更多的周期,因此不会包含在分析中。请您给出如何应用MAXPeriod的建议,以便无论何时都可以执行查询周期数?您可以将条件数据更改为数据。周期计数=3为数据。周期计数=从表1中选择前1个计数*按存储顺序按计数*描述分组。应该从现有记录中获取最大数量。如何计算每个期间的存储数量?如果我们进行类似分析,则每个期间的数字应相同。请注意,计数应在我有几笔销售的期间内对Store变量进行
同一时期内一家门店的s记录-即,时段1内的门店1可能销售5次。请注意,统计门店数量可能不足以信任结果。例如,如果在给定的时间段内,一家店铺关闭,另一家店铺打开,存储计数不会更改,但您将比较来自不同存储集的数据。如果存储打开或关闭,其周期计数将小于最大可能数,其他存储将具有更多的周期,因此不会包含在分析中。请您给出如何应用MAXPeriod的建议,以便无论何时都可以执行查询周期数?您可以将条件数据更改为数据。周期计数=3为数据。周期计数=从表1中选择前1个计数*按存储顺序按计数*描述分组。应该从现有记录中获取最大数量。如何计算每个期间的存储数量?如果我们进行类似分析,则每个期间的数字应相同。请注意,应在期间内对门店变量进行计数。我在同一期间内有几家门店的销售记录,即期间1中的门店1可以销售5次。请注意,对门店数量进行计数可能不足以信任结果。例如,如果在给定的时间段内,一家商店关闭,另一家商店打开,则商店计数不会改变,但您将比较来自不同商店集的数据。如果一家商店打开或关闭,其周期计数将少于最大可能数,其他商店将有更多的周期,因此不会包含在分析中。