Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо к:SQL Server
Вы можете создать запрос, в котором каждая строка результатов соответствует всей группе строк из исходных данных. При сворачивании строк следует учитывать несколько моментов.
Можно исключить повторяющиеся строки Некоторые запросы могут создавать результирующие наборы, в которых отображаются несколько одинаковых строк. Например, можно создать результирующий набор, в котором каждая строка содержит имя города и штата города, содержащего автора, но если город содержит несколько авторов, будет несколько одинаковых строк. Результирующий SQL может выглядеть следующим образом:
SELECT city, state FROM authors
Результирующий набор, созданный предыдущим запросом, не очень полезен. Если город содержит четырех авторов, результирующий набор будет содержать четыре идентичные строки. Так как результирующий набор не включает столбцы, отличные от города и штата, нельзя различать одинаковые строки друг от друга. Одним из способов избежать таких повторяющихся строк является включение дополнительных столбцов, которые могут отличать строки. Например, если вы включаете имя автора, каждая строка будет отличаться (при условии, что два похожих автора не живут в одном городе). Результирующий SQL может выглядеть следующим образом:
SELECT city, state, fname, minit, lname FROM authors
Конечно, предыдущий запрос устраняет симптом, но на самом деле не решает проблему. То есть результирующий набор не имеет повторяющихся данных, но он больше не является результирующим набором о городах. Чтобы исключить дубликаты в исходном результирующем наборе и по-прежнему содержать каждой строке описание города, можно создать запрос, возвращающий только отдельные строки. Результирующий SQL может выглядеть следующим образом:
SELECT DISTINCT city, state FROM authors
Дополнительные сведения об исключении повторяющихся строк (визуальные инструменты баз данных) см. в .
Можно вычислить группы строк т. е. можно суммировать сведения в группах строк. Например, можно создать результирующий набор, в котором каждая строка содержит имя города и штата города, содержащего автора, а также количество авторов, содержащихся в этом городе. Результирующий SQL может выглядеть следующим образом:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state
Дополнительные сведения о вычислении групп строк см. в Сводка результатов запросов (визуальные инструменты баз данных) и Сортировка и группировка результатов запросов (визуальные инструменты баз данных).
Можно использовать критерии выбора для включения групп строк Например, можно создать результирующий набор, в котором каждая строка содержит имя города и штата города, содержащего несколько авторов, а также количество авторов, содержащихся в этом городе. Результирующий SQL может выглядеть следующим образом:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state HAVING COUNT(*) > 1
Дополнительные сведения о применении критериев выбора для групп строк см. в указании условий для групп (инструменты визуальных баз данных) и использование операторов HAVING и WHERE в одном запросе (инструменты визуальных баз данных).
См. также
укажите критерии поиска (визуальные инструменты для баз данных)
Темы руководств по проектированию запросов и представлений (инструменты для визуальных баз данных)