我有一张表,我每天都会跟踪故障率。我需要获得每列的平均最后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
我在桌子上有四条记录,但它一直给我前三个的平均值,而不是最后三个。我需要做什么?
答案 0 :(得分:4)
你需要
WHERE your_date BETWEEN dateadd(day, -3, maximum_date) and maximum_date
不是TOP(3)
- 这会给你3行。
答案 1 :(得分:0)
您可以在查询结尾处添加订单。
ORDER BY date DESC
这将给出最后三个日期。