Contraer grupos de filas (Visual Database Tools)
se aplica a:sql Server
Puede crear un resultado de consulta en el que cada fila de resultados corresponde a un grupo completo de filas de los datos originales. Al contraer filas, hay varias cosas que debemos tener en cuenta:
Puede eliminar filas duplicadas Algunas consultas pueden crear conjuntos de resultados en los que aparecen varias filas idénticas. Por ejemplo, puede crear un conjunto de resultados en el que cada fila contiene la ciudad y el nombre de estado de una ciudad que contiene un autor, pero si una ciudad contiene varios autores, habrá varias filas idénticas. El código SQL resultante podría tener este aspecto:
SELECT city, state FROM authors
El conjunto de resultados generado por la consulta anterior no es muy útil. Si una ciudad contiene cuatro autores, el conjunto de resultados incluirá cuatro filas idénticas. Dado que el conjunto de resultados no incluye ninguna columna que no sea ciudad y estado, no hay ninguna manera de distinguir las filas idénticas entre sí. Una manera de evitar estas filas duplicadas es incluir columnas adicionales que pueden hacer que las filas sean diferentes. Por ejemplo, si incluye el nombre del autor, cada fila será diferente (siempre que no haya dos autores con el mismo nombre dentro de una misma ciudad). El código SQL resultante podría tener este aspecto:
SELECT city, state, fname, minit, lname FROM authors
Por supuesto, la consulta anterior elimina el síntoma, pero no resuelve realmente el problema. Es decir, el conjunto de resultados no tiene duplicados, pero ya no es un conjunto de resultados sobre las ciudades. Para eliminar duplicados en el conjunto de resultados original y seguir teniendo cada fila que describa una ciudad, puede crear una consulta que devuelva solo filas distintas. El código SQL resultante podría tener este aspecto:
SELECT DISTINCT city, state FROM authors
Para obtener más información sobre cómo eliminar duplicados, consulte Excluir filas duplicadas (Visual Database Tools).
Puede calcular en grupos de filas Es decir, puede resumir información en grupos de filas. Por ejemplo, puede crear un conjunto de resultados en el que cada fila contiene la ciudad y el nombre de estado de una ciudad que contiene un autor, además de un recuento del número de autores contenidos en esa ciudad. El código SQL resultante podría tener este aspecto:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state
Para obtener más información sobre el cálculo de grupos de filas, vea Resumen de resultados de consulta (Visual Database Tools) y Ordenar y agrupar resultados de consulta (Visual Database Tools).
Puede usar criterios de selección para incluir grupos de filas Por ejemplo, puede crear un conjunto de resultados en el que cada fila contiene la ciudad y el nombre de estado de una ciudad que contiene varios autores, además de un recuento del número de autores contenidos en esa ciudad. El código SQL resultante podría tener este aspecto:
SELECT city, state, COUNT(*) FROM authors GROUP BY city, state HAVING COUNT(*) > 1
Para obtener más información sobre cómo aplicar criterios de selección en grupos de filas, vea Especificar condiciones para grupos (Visual Database Tools) y Usar cláusulas HAVING y WHERE en la misma consulta (Visual Database Tools).
Consulte también
Especificar Criterios de Búsqueda (Visual Database Tools)
Temas de Procedimientos para Consultas y Vistas de Diseño (Visual Database Tools)