随笔 - 547  文章 - 1  评论 - 292  阅读 - 33万

mysql sql同一个字段多个行转成一个字段查询

mysql sql同一个字段多个行转成一个字段查询

如果您想要将MySQL中同一个表的不同行的值合并到一个字段中,您可以使用GROUP_CONCAT()函数。这个函数可以将多个行的值连接起来,并且可以通过SEPARATOR关键字指定分隔符。
以下是一个简单的例子,假设我们有一个名为users的表,它有一个name字段,我们想要将所有用户的名字合并到一个字段中,用逗号分隔:

SELECT GROUP_CONCAT(name SEPARATOR ', ') AS names
FROM users;

这将返回一个单一的行,其中包含所有用户名以逗号和空格分隔的字符串。
请注意,GROUP_CONCAT()有一个默认的长度限制,通常是1024个字符。如果您的合并结果可能会超过这个长度,您可以在查询前通过设置group_concat_max_len会话变量来增加这个限制。

SET SESSION group_concat_max_len = 1000000;
SELECT GROUP_CONCAT(name SEPARATOR ', ') AS names
FROM users;

这将设置最大长度为100万个字符。如果您希望这个更改在服务器重启后依然有效,您需要在服务器配置文件中设置它。

#demo:查询gps表的多个设备序列号,组成一行,中间以逗号分隔
SELECT GROUP_CONCAT(serial_number SEPARATOR ', ') FROM `tbl_gps` WHERE car_no = '';

 

posted on   oktokeep  阅读(183)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示