回答
對於SQL Server 2008或更高版本;
; WITH CTE AS
(
SELECT *, LAG(VALUE) OVER(ORDER BY MONTH) AS XX FROM YOURTABLE
)
SELECT AVG(CAST(VALUE AS FLOAT)/CAST(XX AS FLOAT)) FROM CTE WHERE XX IS NOT NULL
甚至更早版本的SQL SERVER不支持'LAG'。 –
@prdp。 。 。 OP沒有指定正在使用的數據庫,'LAG()'是ANSI標準功能。 –
你可以通過其他方式聯繫我嗎?非常感謝 –
試試這個:
SELECT AVG(Calc)
FROM
(
SELECT t2.Value/t1.Value AS Calc
FROM [Table] t1
JOIN [Table] t2
ON t1.[Month] = t2.[Month] + 1
) calc
我運行SQL錯誤消息208,級別16,狀態1,行1 無效的對象名稱'VILIVE'。 (VILIVE是mytable) –
你在正確的數據庫中運行它嗎? –
對不起,我不明白。 –
試試下面的查詢。
select avg(CAST(a.value as FLOAT)/cast(a.mm as FLOAT)) from
(
SELECT *, LAG(value) OVER(ORDER BY MONTH) AS mm FROM #your_table
)
a where a.mm is not null
請讓我們知道如果u有一個顧慮
我使用ms sql 2008,lag不是公認的內置函數名稱。錯誤。 –
我想用查詢SQL爲:
如果我選擇月= 3 =>結果= AVG(VALUE2 /值1,值3/VALUE2 )-1-
如果我選擇一個月= 4結果= AVG(VALUE2 /值1,值3 /值2,值4 /值3)-1
由於
- 1. ORACLE SQL查詢 - AVG
- 2. SQL DML查詢AVG和COUNT
- 3. AVG COUNT查詢
- 4. 獲取兩個SQL Access查詢的AVG
- 5. SQL AVG查詢需要幫助
- 6. SQL查詢-AVG過去兩天
- 7. MySQL查詢INC AVG
- 8. Simple $ avg查詢Nodejs
- 9. where子句子查詢使用avg
- 10. 故障使用AVG()MySQL查詢
- 11. 使用avg繪製查詢樹?
- 12. 使用avg和group進行的SQL查詢
- 13. 使用AVG函數確定SQL查詢中的百分比
- 14. SQL:如何使用單個查詢每天獲取AVG
- 15. 如何在使用datetime時將查詢與AVG查詢組合SQL 2008 R2
- 16. 使用AVG()中的Oracle SQL
- 17. c#中的AVG查詢#
- 18. AVG的MySQL查詢幫助
- 19. MySQL查詢返回AVG
- 20. 子查詢中的MySQL AVG()
- 21. ORACLE AVG功能查詢
- 22. SQL查詢按月分組並計算SQL Server中的AVG
- 23. SQL AVG
- 24. 使用SQL查詢生成n-gram表
- 25. SQL查詢中使用出生日期
- 26. 用Ruby生成SQL查詢
- 27. SQL長查詢問題
- 28. CakePHP的長SQL查詢
- 29. 試圖編寫一個使用三個表和AVG()函數的SQL查詢
- 30. SQL Server查詢長時間聯合使用和列查看
你正在使用哪個DBMS? – Esty