针对不同型号使用T-SQL的每日不同销售

针对不同型号使用T-SQL的每日不同销售,sql,sql-server,tsql,count,distinct,Sql,Sql Server,Tsql,Count,Distinct,这是我从数据库中的表中输入的数据: 我想获得以下信息作为输出: 如果您观察输出,我需要获得从第1天到截止日期的不同型号序列号计数。 对于ex:对于第1天:已售出的计数(不同序列号) 第2天:销售时的计数(与第1天不同的序列号) 我是用累计销售额来计算的,但是因为一些序列号在不同的日期有多个销售额,所以我得到了一个错误的计数。 有谁能帮我查询一下这个请求的T-SQL吗?您可以通过两个聚合级别来完成这项工作: select model, sale_date, sum(count(*))

这是我从数据库中的表中输入的数据: 我想获得以下信息作为输出:

如果您观察输出,我需要获得从第1天到截止日期的不同型号序列号计数。 对于ex:对于第1天:已售出的计数(不同序列号) 第2天:销售时的计数(与第1天不同的序列号) 我是用累计销售额来计算的,但是因为一些序列号在不同的日期有多个销售额,所以我得到了一个错误的计数。
有谁能帮我查询一下这个请求的T-SQL吗?

您可以通过两个聚合级别来完成这项工作:

select model, sale_date, 
    sum(count(*)) over(partition by model order by sale_date) sale_qty
from (
    select model, serial_number, min(sale_date) sale_date
    from mytable
    group by model, serial_number
) t
group by model, sale_date
order by model, sale_date
使用这种技术,每个
序列号在其首次出现日期仅计数一次。

A>>小