共用方式為


摺疊列群組(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)