MySQL將查詢結(jié)果用英文逗號(hào),連接的實(shí)現(xiàn)方式
更新時(shí)間:2025年04月11日 09:37:14 作者:XerCis
這篇文章主要介紹了MySQL將查詢結(jié)果用英文逗號(hào),連接的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
問(wèn)題描述
-- 創(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; -- 插入數(shù)據(jù) 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
遇到的坑
結(jié)果太長(zhǎng),顯示不全
- group_concat_max_len 連接結(jié)果的最大長(zhǎng)度默認(rèn)為 1024 ,64 位系統(tǒng)最大為 18446744073709551615
- 可以臨時(shí)設(shè)置:
# 默認(rèn)為 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;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mssql2008 自定義表類型實(shí)現(xiàn)(批量插入或者修改)
在做大型網(wǎng)站或者系統(tǒng)的時(shí)候,經(jīng)常會(huì)遇到個(gè)問(wèn)題就是批量插入或者修改數(shù)據(jù)庫(kù);今天這邊不講SqlBulkCopy,只簡(jiǎn)單講sql自定義表類型,感興趣的朋友可以了解下哦,希望本文對(duì)你有所幫助2013-01-01MySQL?UPDATE多表關(guān)聯(lián)更新的實(shí)現(xiàn)示例
MySQL可以基于多表查詢更新數(shù)據(jù),本文主要介紹了MySQL?UPDATE多表關(guān)聯(lián)更新的實(shí)現(xiàn)示例,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08win11設(shè)置mysql開(kāi)機(jī)自啟的實(shí)現(xiàn)方法
本文主要介紹了win11設(shè)置mysql開(kāi)機(jī)自啟的實(shí)現(xiàn)方法,要通過(guò)命令行方式設(shè)置,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03