mysql行连接,MySQL – 一种在一列中连接所有找到的行的方法

CREATE TABLE dummy(

id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(30)NOT NULL

)ENGINE = MYISAM;

并运行此查询:

SELECT GROUP_CONCAT(`name` SEPARATOR "||") FROM `dummy`

此查询使用||连接所有行中的name列在一列中.但是,结果会被mysql配置截断,如mysql manual中所述:

“… result is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024 …”

同样在手册中,可以通过以下语法在运行时更改此设置:

SET [GLOBAL | SESSION] group_concat_max_len = val;

更改此配置是否适用于所有mysql服务器环境?如果没有,如果没有GROUP_CONCAT没有限制,我怎样才能获得相同的结果?

另外,我认为更改配置不会解决我的问题,因为我不知道如何设置group_concat_max_len的值,因为虚表中的行数可以是任意数.

谢谢.

解决方法:

您是否尝试过使用存储过程来完成任务?您可以创建具有单个行/列的临时表,并在从表中获取行时附加到该表.最后,只需从临时表中选择单个值.

您可以在mysql manual和其他位置找到有关存储例程的信息.

标签:mysql

来源: https://codeday.me/bug/20190710/1423170.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值