是否需要在您的選擇中進行分組(如果使用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. 聚合列必須在集團通過
- 3. 組合框必須在VB6
- 4. 「列XYZ必須在GROUP BY」 - >「不能GROUP BY聚合列」
- 5. Riak - 功能聚合組
- 6. 聚合多組序功能
- 7. vb.net組合框項目必須在Formload
- 8. SQL聚合組
- 9. 聚合組
- 10. 聚合MongoDB結果組合
- 11. Mongoose,mongodb,壞聚合組合
- 12. 必須結合2查詢
- 13. Django聚合 - 表達式包含混合類型。您必須設置output_field
- 14. 必須出現在GROUP BY子句或聚合函數
- 15. 聚合聚合(ARRAY_AGG)?
- 16. 選定的非聚合值必須是關聯組的一部分
- 17. MongoDB聚合:組合兩個數組
- 18. kairosdb聚合組由
- 19. SQL聚合組由
- 20. Vuejs:組件聚合
- 21. Morphia聚合功能
- 22. 不能與COUNT混合聚合和非聚合比較
- 23. 必須滿足哪些條件才能生成符合CLS標準的類型
- 24. sql - 聚合最大功能和組
- 25. 分組聚合與組
- 26. 必須安裝WMPLib才能使用C#?
- 27. Mysql必須格式化才能進入?
- 28. MongoDB聚合性能能力
- 29. Mongodb中聚合的聚合
- 30. mongoDB - 聚合上的聚合?
http://msdn.microsoft.com/en-us/library/ms173454.aspx – 2012-07-10 16:15:02
我想你可以得到奇怪的與子查詢或東西來證明這一點 - 但通常是。 (除非你想要查詢返回的每條記錄的總和) – RThomas 2012-07-10 16:16:20