查询最近3个月内已售出的最大商品数[关闭]

问题描述 投票:-5回答:1

我有一个超过3年的产品销售数据集,我想写一个查询来查询最近3个月的最大产品销售量:

  • 最后日期是2014-10-23

示例:

Prod_name | Prod_Cat | Tran_date | Total_Amt | Tax |...

如何使用日期功能查看最近3个月该类别中最多销售的产品?

sql sql-server database rdbms
1个回答
3
投票

这将为您提供在截至2014-10-23的过去3个月中销售量最大的产品

select top 1 Prod_name, sum(Total_Amt +Tax) as Sale
from tbl where Tran_date > dateadd(month, -3,'2014-10-23')
group by Prod_name
order by 2 desc

如果您想要直到今天

select top 1 Prod_name, sum(Total_Amt +Tax) as Sale
from tbl where Tran_date > dateadd(month, -3,getdate())
group by Prod_name
order by 2 desc

这里是如何将其包装到以date为参数的函数中。没有测试:

CREATE FUNCTION dbo.ufnGetmaximumproduct(@Date datetime)  
RETURNS varchar(10)
AS   
-- Returns the stock level for the product.  
BEGIN  
    DECLARE @ret varchar(10);  
    select @ret =Prod_name from
    (
        select top 1 Prod_name, sum(Total_Amt +Tax) as Sale
        from tbl where Tran_date > dateadd(month, -3,@Date)
        group by Prod_name
        order by 2 desc
    )a
    RETURN @ret;  
END; 
© www.soinside.com 2019 - 2024. All rights reserved.