iT邦幫忙

第 12 屆 iThome 鐵人賽

0
自我挑戰組

回顧再出發~系列 第 13

[SQL]取20天的平均

  • 分享至 

  • xImage
  •  

天啊.怎麼做啊?
同事用了一個聰明的作法,
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()

上一篇
LinkServer function 不允許遠端函數參考
下一篇
sql 記錄運作時間
系列文
回顧再出發~22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言