sql >> Databasteknik >  >> RDS >> Mysql

GROUP_CONCAT() radräkning vid gruppering efter ett textfält

Du måste ändra max_sort_length till högre antal sessionsvis eller globalt enligt ditt behov. Som standard är dess värde 1024 byte och din sträng innehåller 1170 bytes data. Genom att öka storleken kommer det att ge två rader för GROUP_CONCAT .

Kolla denna länk max_sort_length stark>

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`;

Kolla in SQL FIDDLE DEMO

EDIT: BLOB och TEXT värden kan inte användas tillförlitligt i GROUP BY , BESTÄLL AV eller DISTINKT . Endast den första max_sort_length byte används vid jämförelse av BLOB-värden i dessa fall. Standardvärdet för max_sort_length är 1024 och kan ändras vid serverns starttid eller vid körning.



  1. Hur tar jag reda på _exakt_ felet från SQL Server

  2. hur man hittar radstorlek i tabell

  3. Visar alla tabellnamn i php från MySQL-databasen

  4. mysql lagrad procedur:ut parameter