将 MySQL 结果显示为逗号分隔列表?
mysqlmysqli database
我们可以借助带有参数","的"concat()"函数将结果显示为逗号分隔列表。
现在让我们看一个例子。首先,我们将创建一个表。CREATE 命令用于创建表。
mysql> create table CommaSeperateDemo - > ( - > Id int, - > FirstName varchar(100), - > LastName varchar(100) - > ); Query OK, 0 rows affected (0.93 sec)
插入记录
mysql> insert into CommaSeperateDemo values(1,'John','Taylor'); Query OK, 1 row affected (0.17 sec) mysql> insert into CommaSeperateDemo values(2,'Carol','Taylor'); Query OK, 1 row affected (0.12 sec) mysql> insert into CommaSeperateDemo values(3,'Johnson','T.'); Query OK, 1 row affected (0.16 sec)
现在让我们显示所有记录。
mysql> select *from CommaSeperateDemo;
以下是输出。
+------+-----------+----------+ | Id | FirstName | LastName | +------+-----------+----------+ | 1 | John | Taylor | | 2 | Carol | Taylor | | 3 | Johnson | T. | +------+-----------+----------+ 3 rows in set (0.00 sec)
以下是使用 concat() 获取以逗号分隔列表形式获取结果的语法
Select concat(ColumnName1, ',', ColumnName2, ',', ColumnName3,.............) as AliasName from yourTableName;
现在让我们在以下查询中实现上述语法。
mysql> SELECT concat(Id, ',', FirstName,',', LastName) as CONCATEIDFIRSTANDLASTNAME from CommaSeperateDemo;
以下是语法。
+---------------------------+ | CONCATEIDFIRSTANDLASTNAME | +---------------------------+ | 1,John,Taylor | | 2,Carol,Taylor | | 3,Johnson,T. | +---------------------------+ 3 rows in set (0.00 sec)