我想要select *
從一個表和組只有一列。我是SQL新手,所以有一個基本的問題。我的查詢看起來像這樣。在SQL中選擇*與一個按列分組
Select top 10
[DocumentClass], [DocumentUID]
,[DocumentClassification]
,[DocumentNumber]
,[Revision]
,[Description]
,[Owner]
from
Table
Group BY
[DocumentClass]
錯誤我得到:因爲它不是在聚合函數或GROUP BY子句中包含
列「DocumentUID」在選擇列表中無效。
請指教。謝謝
當您使用組選擇查詢中的所有列時,必須將其添加到組by子句。您只能使用select語句中的列(MAX,SUM,COUNT等)的摘要。閱讀http://msdn.microsoft.com/en-us/library/ms177673.aspx –
謝謝..所以這意味着我必須把所有列在分組依據,這是在查詢的選擇條款...但將它做的分組結果通過一個特定的列? – dnts2012
絕對不是。但這取決於你想從Group By中得到什麼摘要。由於您正在對記錄進行分組,因此如果行在不同列中具有不同的值,顯然它們將被視爲單獨的組。在內部查詢中進行分組後,您將不得不使用內部查詢或CTE來檢索最終結果 –