MySQL將查詢結果用英文逗號,連接的實現方式
更新時間:2025年04月11日 09:37:14 作者:XerCis
這篇文章主要介紹了MySQL將查詢結果用英文逗號,連接的實現方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
問題描述
-- 創(chuàng)建表 CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶ID', `name` varchar(255) NOT NULL COMMENT '用戶名', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; -- 插入數據 INSERT INTO `person` VALUES (1, '劉一'); INSERT INTO `person` VALUES (2, '陳二'); INSERT INTO `person` VALUES (3, '張三'); INSERT INTO `person` VALUES (4, '李四'); INSERT INTO `person` VALUES (5, '王五');
解決方案
- GROUP_CONCAT(expr):返回連接的非 null 值字符串
SELECT GROUP_CONCAT(你的字段) FROM 你的表
- 如:
SELECT GROUP_CONCAT(name) FROM person
- 效果:
- 封裝:
SELECT GROUP_CONCAT(x) FROM (SELECT x FROM x WHERE GROUP BY x) AS a
遇到的坑
結果太長,顯示不全
- group_concat_max_len 連接結果的最大長度默認為 1024 ,64 位系統(tǒng)最大為 18446744073709551615
- 可以臨時設置:
# 默認為 1KB SET SESSION group_concat_max_len = 1024; # 1MB SET SESSION group_concat_max_len = 1048576; # 10MB SET SESSION group_concat_max_len = 10485760; # 1GB SET SESSION group_concat_max_len = 1073741824;
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。