是否需要在您的選擇中進行分組(如果使用SUM進行聚合)?你必須有一個group by子句?必須組合才能聚合?
回答
不,這不是要求。
沒有GROUP BY
的聚合是標量聚合,並且總是返回一行。
例
SELECT SUM(high)
FROM master..spt_values
WHERE 1 = 0
骨料與GROUP BY
是矢量集合和每個組返回零或一列。
例
SELECT [type], SUM(high)
FROM master..spt_values
WHERE 1 = 0
GROUP BY [type]
+1實際上,聚合總是意味着分組。只是如果省略了「GROUP BY」(實際上它可能),那麼隱含「GROUP BY()」。 – 2012-07-11 08:46:34
@AndriyM - 有趣的一點。 'SELECT SUM(high)FROM master..spt_values WHERE 1 = 0 GROUP BY()'不返回任何行。沒有'GROUP BY()'返回一行,所以它們不是等價的。 – 2012-07-11 08:49:38
需要思考的東西。不過,它沒有'WHERE 1 = 0'。我想知道這是否有人問過...... – 2012-07-11 08:56:09
- 1. 聚合列必須在集團通過
- 2. 組合框必須在VB6
- 3. 「列XYZ必須在GROUP BY」 - >「不能GROUP BY聚合列」
- 4. NET Windows窗體datagridview - 必須單擊組合框三次才能獲得焦點
- 5. Riak - 功能聚合組
- 6. 聚合多組序功能
- 7. SQL聚合組
- 8. Mongoose,mongodb,壞聚合組合
- 9. 聚合MongoDB結果組合
- 10. Django聚合 - 表達式包含混合類型。您必須設置output_field
- 11. 聚合聚合(ARRAY_AGG)?
- 12. MongoDB聚合:組合兩個數組
- 13. Vuejs:組件聚合
- 14. 不能與COUNT混合聚合和非聚合比較
- 15. 分組聚合與組
- 16. Mysql必須格式化才能進入?
- 17. Mongodb中聚合的聚合
- 18. django聚合聚合字段?
- 19. SAS:Proc Olap。非聚合聚合
- 20. [UML]組合vs聚合:澄清
- 21. 在C#中實現組合和聚合?
- 22. UML圖幫助(聚合/組合)
- 23. DDD:聚合邊界與組合便利。
- 24. R(dplyr,tidyr):組合/聚合相關列
- 25. 結合複雜的聚合功能GROUPBY
- 26. LINQ分組與聚合
- 27. 羣組和聚合問題
- 28. 聚合超過2組
- 29. 組和聚合與LINQ
- 30. 聚合物Web組件不
http://msdn.microsoft.com/en-us/library/ms173454.aspx – 2012-07-10 16:15:02
我想你可以得到奇怪的與子查詢或東西來證明這一點 - 但通常是。 (除非你想要查詢返回的每條記錄的總和) – RThomas 2012-07-10 16:16:20