天啊.怎麼做啊?
同事用了一個聰明的作法,
XD 這麼簡單,怎麼沒想到呢?腦袋卡卡!
我們先來做一下假資料
DROP TABLE #TMP
CREATE TABLE #TMP (SDATE DATE,SCORE INT )
INSERT INTO #TMP SELECT GETDATE(),10
DECLARE @I INT =1;
WHILE (@I<30)
BEGIN
INSERT INTO #TMP SELECT DATEADD(DAY,@I*-1, GETDATE()),cast(rand()*100 as int )
SET @I +=1;
END
接著我們就用DATEADD -20day的方法,把資料限制在這個區間,再去取最大值,最小值,與平均.
完工了!!!
SELECT AVG(SCORE),MIN(SCORE),MAX(SCORE)
FROM #TMP
WHERE SDATE BETWEEN DATEADD(DAY,-20,GETDATE()) AND GETDATE()