在MySQL中使用GROUP_CONCAT()从多行连接数据?
让我们首先创建一个表-
mysql> create table DemoTable (CountryName varchar(100));
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values('US');
mysql> insert into DemoTable values('AUS');
mysql> insert into DemoTable values('UK');使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+-------------+ | CountryName | +-------------+ | US | | AUS | | UK | +-------------+ 3 rows in set (0.00 sec)
这是连接多个行的查询。我们正在创建一个程序-
mysql> DELIMITER //
mysql> CREATE PROCEDURE searchDemo(in stringValue varchar(255), out output text)
BEGIN
select group_concat(distinct CountryName order by CountryName) into output from DemoTable where
CountryName like stringValue;
END
//
mysql> DELIMITER ;借助call命令调用存储过程-
mysql> call searchDemo('U%',@output);让我们检查变量@output的值-
mysql> select @output;
这将产生以下输出-
+---------+ | @output | +---------+ | UK,US | +---------+ 1 row in set (0.00 sec)