sql >> Base de Datos >  >> RDS >> Mysql

GROUP_CONCAT() recuento de filas al agrupar por un campo de texto

Tienes que cambiar el max_sort_length a un mayor número de sesiones sabias o globalmente según sus necesidades. Por defecto su valor es 1024 bytes y su cadena contiene 1170 datos de bytes. Al aumentar el tamaño, dará dos filas para GROUP_CONCAT .

Consulte este enlace max_sort_length

SELECT `text` FROM `table` GROUP BY `text`;

SET SESSION max_sort_length = 2000;
SELECT GROUP_CONCAT(`id` SEPARATOR ', ') AS ids FROM `table` GROUP BY `text`;

Consulte la DEMOSTRACIÓN DE SQL FIDDLE

EDITAR: BLOQUEO y TEXTO los valores no se pueden usar de manera confiable en GROUP BY , ORDENAR POR o DISTINTO . Solo el primer max_sort_length los bytes se utilizan al comparar valores BLOB en estos casos. El valor predeterminado de max_sort_length es 1024 y se puede cambiar en el momento de inicio del servidor o en tiempo de ejecución.