sql >> Databáze >  >> RDS >> Mysql

GROUP_CONCAT() počet řádků při seskupování podle textového pole

Musíte změnit max_sort_length na vyšší počet relací nebo globálně podle vašich potřeb. Ve výchozím nastavení je jeho hodnota 1024 bajtů a váš řetězec obsahuje 1170 bajtů dat. Zvětšením velikosti získáte dva řádky pro GROUP_CONCAT .

Zkontrolujte tento odkaz 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`;

Podívejte se na SQL FIDDLE DEMO

UPRAVIT: BLOB a TEXT hodnoty nelze spolehlivě použít v GROUP BY , OBJEDNAT PODLE nebo DISTINCT . Pouze první max_sort_length bajtů se v těchto případech používají při porovnávání hodnot BLOB. Výchozí hodnota max_sort_length je 1024 a lze jej změnit při spouštění serveru nebo za běhu.



  1. Aktualizace MySQL pomocí PDO a připravený příkaz nefunguje

  2. ORA-00903:neplatný název tabulky na PreparedStatement

  3. Může spouštěč MySQL simulovat omezení CHECK?

  4. Django:sqlite pro vývojáře, mysql pro prod?