給出彙總函數錯誤的SQL查詢對不起,下面粘貼了整個BIG查詢。我已經一遍又一遍地檢查了可能存在計算錯誤的地方,比如除以零,但沒有任何工作。現在它要求我使用group by子句,就像我們在select語句中計數時得到的錯誤,並且不使用group by子句。但是,當我在列表中列出所有列的情況下將group by子句放在列表中時,它會告訴我列名不存在!甚至當我沒有使用任何
回答
您正在使用您的SQL的45行之和:
(case ((sum(T.act_work_qty)+sum(T.remain_work_qty))*100.0)
when 0 then 0
when null then 0
else round((sum(T.act_work_qty)/(sum(T.act_work_qty)+sum(T.remain_work_qty))*100.0),2)
end)
正因爲如此,SQL假設你有一個聚集查詢,並返回一個錯誤的聚集。
以下是變通辦法的一些建議。 。 。
- 也許你不需要總和,所以你可以使用列值。
- 您可以使用Windows函數來計算總和。 。 。
sum(T.act_work_qt) over()
將計算查詢處理的所有行的總和(應用where
子句條件)。 - 使用子查詢計算總和。
謝謝戈登。你的建議奏效了。我通過添加另一個執行pct計算的臨時表,在我的OP中更新了我的查詢。 但現在它在其他地方休息說'子查詢返回多個值'! – camelbrush 2013-04-25 18:35:25
@camelbrush。 。 。解決方案是一個聚合函數或'select top 1'。 – 2013-04-25 18:38:08
但top1將始終只返回1條記錄嗎?爲什麼會說subquerry返回的值超過1?我試着評論說阻止了,但同樣的錯誤。無法確定哪個查詢返回多條記錄。我設置了where子句來確保只返回正確的匹配。 :( – camelbrush 2013-04-25 18:53:02
- 1. 甚至在我使用甚至委派之後,元素還沒有被刪除
- 2. 甚至我沒有定義路線
- 3. iOS:SpriteKit甚至沒有鏈接?
- 4. AsyncTask甚至沒有啓動
- 5. BringWindowToTop甚至沒有工作
- 6. '未定義函數'錯誤,但我甚至沒有使用它
- 7. 包含錯誤,甚至沒有任何標題
- 8. 如何取代Backbone.sync,甚至沒有localStorage?
- 9. 沒有得到程度報告甚至沒有任何錯誤提示
- 10. 斯卡拉只有當條件沒有別人(甚至默認)
- 11. 當單元格甚至沒有構建時,我如何計算heightForRowAtIndexPath?
- 12. jqGrid altRows並沒有得到應用,甚至當我消除背景圖像
- 13. 的addEventListener調用函數沒有我,甚至要求它
- 14. PHP沒有返回值(甚至未NULL)
- 15. 表TD間距甚至沒有
- 16. ASP按鈕甚至沒有射擊
- 17. Hadoop:Reducer類甚至沒有被覆蓋
- 18. 的Javascript甚至沒有工作
- 19. MySQL錯誤1242甚至與任何
- 20. 我得到了357行的JSONDecodeError。我甚至沒有一行357
- 21. 頁甚至沒有發現當JsonResult方法存在
- 22. DisplayTag:甚至當沒有數據要顯示標題時
- 23. 記錄沒有顯示甚至記錄使用PL SQL
- 24. CSS網頁甚至沒有使用相同的CSS文件
- 25. 如何使用,甚至嘗試捕捉
- 26. Python3:溢出,但我甚至沒有分配值
- 27. 我甚至需要libusb嗎?
- 28. 的IntelliJ「Maven的網站插件」 reportPlugins,甚至沒有做任何事情
- 29. MySQL的INSERT INTO不會做任何事情 - 甚至沒有錯誤
- 30. 功能沒有返回值(甚至沒有未定義)
我確實使用了別名。我錯過了嗎? – camelbrush 2013-04-25 18:16:16
@stevenackley你在說什麼?您可以在'ORDER BY'中使用別名,但不能在'GROUP BY'中使用別名。你試過了嗎? – 2013-04-25 18:16:52
@stevenackley實際上這是另一種方式。您*不能*在GROUP BY中使用列別名,您只能使用源表中的列名(這意味着您必須複製表達式才能對輸出列值進行分組)。實際上,這可能是OP的問題。 – RBarryYoung 2013-04-25 18:20:59