2012-02-08 78 views
0


我正在尋找解決以下問題的方法:
我寫了一個爲期30天的文件,每天產生一次計數。
如何顯示僅高於或低於30天平均值的10%的數據?

SELECT reuseid, hexample, hTimeframe, irodger, dateandtime 
From reusing.reuse 
WHERE hexample= 'RDM Daddy' 
     and hTimeframe= 'TSBC0002.dlt.*.dat' 
     and ((GETDATE()-dateandtime) < 32.0) 
     and irodger<>(SELECT AVG(irodger) FROM reusing.reuse) 
ORDER by dateandtime desc 

我需要取過去30天的平均值。然後,如果當天的金額爲+/- 10%(1.1/ .9),則需要產生錯誤...... ......

此當前查詢生成過去30天的數據,告訴我什麼是高於或低於目前的平均水平,但不是介於兩者之間。

任何幫助,非常感謝!

回答

0

也許這種操作可以解決你的問題:

SELECT reuseid, hexample, hTimeframe, irodger, dateandtime 
From reusing.reuse 
WHERE hexample= 'RDM Daddy' 
     and hTimeframe= 'TSBC0002.dlt.*.dat' 
     and ((GETDATE()-dateandtime) < 32.0) 
     -- Here : 
     and (irodger/(SELECT AVG(irodger) FROM reusing.reuse)) NOT BETWEEN 0.9 AND 1.1 
ORDER by dateandtime desc 
+0

謝謝斯坦! SQL似乎很完美,但似乎並沒有限制任何結果....任何進一步的想法? – TempleTerraceHQ 2012-02-08 20:31:19

+0

更正 - 此查詢將使用「NOT BETWEEN」而不受任何限制地運行,但是當我使用BETWEEN滿足任何需求時,我不會顯示任何結果。它可以是涵蓋所有數據範圍的blatent數字,但仍然沒有數據出現.... – TempleTerraceHQ 2012-02-08 21:08:12

相關問題