Mysql
 sql >> Base de données >  >> RDS >> Mysql

Nombre de lignes GROUP_CONCAT() lors du regroupement par un champ de texte

Vous devez modifier la max_sort_length à un nombre de sessions plus élevé ou globalement selon vos besoins. Par défaut sa valeur est 1024 octets et votre chaîne contient 1170 octets de données. En augmentant la taille, cela donnera deux lignes pour GROUP_CONCAT .

Vérifiez ce lien 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`;

Vérifiez la SQL FIDDLE DEMO

MODIF : BLOB et TEXTE les valeurs ne peuvent pas être utilisées de manière fiable dans GROUP BY , TRIER PAR ou DISTINCT . Seul le premier max_sort_length les octets sont utilisés lors de la comparaison des valeurs BLOB dans ces cas. La valeur par défaut de max_sort_length est 1024 et peut être modifié au démarrage du serveur ou au moment de l'exécution.