简体   繁体   English

使用 T-SQL 对不同模型进行每日不同销售

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM