Colapsar un grupo en una cadena en SQL
A veces la respuesta no es un número sino la lista misma.
SELECT
o.id,
COUNT(*) AS lines,
GROUP_CONCAT(
i.sku,
', '
ORDER BY i.sku
) AS skus
FROM orders AS o
JOIN order_items AS i
ON i.order_id = o.id
GROUP BY o.id;
Cómo funciona
GROUP_CONCATune los valores de un grupo con un separador.ORDER BYdentro de la llamada vuelve la salida estable entre corridas.DISTINCTdentro de un agregado quita repetidos antes de combinar.
Palabras clave y builtins usados aquí
ASBYCOUNTFROMGROUPJOINONORDERSELECT
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 157
- Tokens
- 49
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 35 segundos.
Paso 4 de 4 en Agrupación; paso 8 de 22 en Joins y agregación.