摺疊資料列群組 (Visual Database Tools)
適用於:SQL Server
可以建立一種查詢結果,其中各結果資料列對應至原始資料的完整資料列群組。 摺疊資料列時,請注意下列事項:
您可以排除重複的資料列 :有些查詢建立的結果集中會產生許多完全相同的資料列。 例如,您可以建立結果集,其中每個資料列都包含城市以及某個城市 (含有一個作者) 所在的州名;但如果某個城市含有數個作者,則將產生數個相同的資料列。 產生的 SQL 將如下所示:
SELECT city, state FROM authors
上述查詢產生的結果集並不是很有用。 如果某個城市含有四個作者,該結果集將包含四個完全一樣的資料列。 由於結果列不包含城市和州以外的資料行,因此無法進一步區分這些完全相同的資料行。 要避免這種重複的資料列,將其他可區分這些資料列的其他資料行納入結果集。 例如,如果您納入作者名稱,則每個資料列都將變成不同 (假設任何一個城市中並沒有兩個命名相似的作者)。 產生的 SQL 將如下所示:
SELECT city, state, fname, minit, lname FROM authors
當然上述查詢只可排除這個問題,但無法真正解決該問題。 也就是說,雖然該結果集中沒有重複項目,但它再也不是城市的結果集了。 若要排除原始結果集中的重複項目,但同時仍然保有每個說明城市的資料列,您可以建立僅傳回不同資料列的查詢。 產生的 SQL 將如下所示:
SELECT DISTINCT city, state FROM authors
如需排除重複項目的詳細資訊,請參閱排除重複的資料列 (Visual Database Tools)。
您可以計算資料列群組:也就是說,您可以摘要報告資料列群組的資訊。 例如,您可以建立結果集,其中每個資料列都含有城市和含有某位作者的城市所在州名,以及該城市所含之作者數目。 產生的 SQL 將如下所示:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state
如需計算資料列群組的詳細資訊,請參閱摘要查詢結果 (Visual Database Tools) 和 排序及分組查詢結果 (Visual Database Tools)。
您可以使用選擇標準來包含資料列群組:例如,您可以建立結果集,其中每個資料列都包含城市和含有數位作者的城市所在州名,以及該城市所含之作者數目。 產生的 SQL 將如下所示:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state HAVING COUNT(*) > 1
如需對資料列群組套用選取準則的詳細資訊,請參閱指定群組條件 (Visual Database Tools) 和在相同查詢中使用 HAVING 和 WHERE 子句 (Visual Database Tools)。
另請參閱
指定搜尋條件 (Visual Database Tools)
設計查詢和檢視使用說明主題 (Visual Database Tools)