MySQL分組多條變一條的操作可以通過(guò)使用GROUP_CONCAT函數(shù)來(lái)實(shí)現(xiàn)。在MySQL中,GROUP_CONCAT函數(shù)可以把一組值合并成一個(gè)字符串返回,同時(shí)也可以在合并的過(guò)程中添加分隔符。
SELECT `category`, GROUP_CONCAT(`name` SEPARATOR ',') as `names` FROM `products` GROUP BY `category`;
以上代碼會(huì)把`products`表中同一分類(lèi)下的多個(gè)名稱(chēng)合并為一條記錄,`SEPARATOR`指定了合并后字符串之間的分隔符。例如,如果`products`表中有以下記錄:
+----+-----------+-------------------+ | id | category | name | +----+-----------+-------------------+ | 1 | Clothes | T-shirt | | 2 | Clothes | Jacket | | 3 | Clothes | Sweater | | 4 | Electronics | Phone | | 5 | Electronics | Laptop | +----+-----------+-------------------+
執(zhí)行以上SQL語(yǔ)句后,會(huì)得到以下結(jié)果:
+-----------+----------------------+ | category | names | +-----------+----------------------+ | Clothes | T-shirt,Jacket,Sweater| | Electronics | Phone,Laptop | +-----------+----------------------+
通過(guò)GROUP_CONCAT函數(shù)的應(yīng)用,我們可以很方便地將分組多條數(shù)據(jù)合并為一條,便于數(shù)據(jù)處理和分析。