[英]Daily distinct Sales using T-SQL for Different Models
This is my input data from a table in db: enter image description here I want to get below information as output: enter image description here这是我从数据库表中的输入数据:在此处输入图像描述我想获得以下信息作为输出:在此处输入图像描述
If you observe the output I need to get distinct serial number count for a model from day 1 to till date.如果您观察到输出,我需要从第 1 天到至今获得模型的不同序列号计数。 for ex: for day1: count(distinct serialnumber) as sold day2 : count(distinct serialnumber from day1) as sold I did this using cumulative sales but because of some serial numbers has multiple sales on different dates, I'm getting a wrong count.
例如:对于第 1 天:count(distinct serialnumber) as sell day2:count(distinct serialnumber from day1) as sell 我使用累积销售额做了这个,但由于某些序列号在不同日期有多个销售,我得到了错误的计数. Can anyone please help me with T-SQL query for this request?
任何人都可以帮我查询此请求的 T-SQL 查询吗?
You could do this with two levels of aggregation:您可以通过两个级别的聚合来做到这一点:
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
With this technique, each serial_number
is counted only once, on its first appearance date.使用这种技术,每个
serial_number
仅在其首次出现日期计数一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.