SQL Server平均最近三天

时间:2015-12-09 20:43:26

标签: sql-server

我有一张表,我每天都会跟踪故障率。我需要获得每列的平均最后3天才能进行调整。我的存储过程是 -

Create PROCEDURE [dbo].[dfc_sp_average_loan_failure]
AS
BEGIN
    SELECT   TOP(3)
             AVG(usOnlineRate)  AS usOnlineAverage
            ,AVG(usRetailRate)  AS usRetailAverage
            ,AVG(cnOnlineRate)  AS cnOnlineAverage
            ,AVG(cnRetailRate)  AS cnRetailAverage

    FROM dfc_LoanRateRecords
END

我在桌子上有四条记录,但它一直给我前三个的平均值,而不是最后三个。我需要做什么?

2 个答案:

答案 0 :(得分:4)

你需要

WHERE your_date BETWEEN dateadd(day, -3, maximum_date) and maximum_date

不是TOP(3) - 这会给你3行。

答案 1 :(得分:0)

您可以在查询结尾处添加订单。

ORDER BY date DESC

这将给出最后三个日期。