Menu
Coddy logo textTech

Convertir filas en columnas

Parte de la sección Más allá de lo básico del Journey de SQL de Coddy. Lección 14 de 27.

Combina la agregación condicional con GROUP BY para convertir filas en columnas. Es la versión de SQL de una tabla dinámica de una hoja de cálculo.

Supón que sales tiene filas como (month, product, units). Para ver una fila por mes con una columna por producto:

SELECT
    month,
    SUM(CASE WHEN product = 'A' THEN units ELSE 0 END) AS product_a,
    SUM(CASE WHEN product = 'B' THEN units ELSE 0 END) AS product_b
FROM sales
GROUP BY month

El grupo de GROUP BY que ve cada SUM(CASE …) son las filas de un month; CASE selecciona el segmento de un product.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • sales: month, product, units

Transforma los datos para que cada fila corresponda a un month con estas columnas:

  • month
  • apples: total de units para el producto 'apples' de ese mes
  • bananas: lo mismo para 'bananas'
  • cherries: lo mismo para 'cherries'
  • total: total de units de todos los productos de ese mes

Devuelve solo los meses cuyo total sea al menos 20. Ordena por month.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Pruébalo tú mismo

SELECT month,
       -- un SUM(CASE ...) por producto, más el total
FROM sales
GROUP BY month
-- filtrar a los meses con total >= 20
ORDER BY month
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Más allá de lo básico

Practica por tu cuenta: Playground de SQL