我有這樣的查詢:GROUP-BY表達式必須包含至少一個列不是外部引用
SELECT
SolutionName -- Solution_NAM
from Table_View
Group By 1
其中Table_View是當然的圖。 我得到這個錯誤信息:
每個GROUP BY表達式都必須包含至少一個不是外部引用的列。
你能幫我解決嗎? It's內的MS SQL Server 2008
我有這樣的查詢:GROUP-BY表達式必須包含至少一個列不是外部引用
SELECT
SolutionName -- Solution_NAM
from Table_View
Group By 1
其中Table_View是當然的圖。 我得到這個錯誤信息:
每個GROUP BY表達式都必須包含至少一個不是外部引用的列。
你能幫我解決嗎? It's內的MS SQL Server 2008
你不能給組由1
嘗試
SELECT
SolutionName -- Solution_NAM
from Table_View
Group By SolutionName
thx,它的工作原理! – Dantes
馬丁的約GROUP BY語句是正確的,雖然你>可以<絕對使用列序號,而不是在一個ORDER BY中,在各種版本的SQL中(我在考慮TSQL,這是大多數核心SQL語法中的ISO標準)中的列名。
但明智的做法是不要在ORDER BY語句中使用列序號,即使它們有效。爲什麼?如果查詢是存儲過程的一部分,並且通過將列添加到原始表(或視圖)來更改表模式,則不能保證原始列順序將被更改保留。這意味着你可能會被一個意想不到的毫無意義的專欄排序,然後會破壞你的申請。
這是更好的做法,每次使用列名而不是序號(雖然像count(*),但不要掛上它,如果它臨時查詢自己的使用,永遠不會看到生產日)。
你想做什麼?您無法按SQL Server中的列順序進行分組。您需要指定名稱。 –