Mysql 如何在一行中获得一列结果

Mysql 如何在一行中获得一列结果,mysql,Mysql,我试图在一行中获得一个列结果。在MySql中可能吗 我说 现在这将导致 name mak sandy john 我能得到这个结果吗 name mak,sandy,john I Mysql concat_ws()函数执行concat,但不显示结果。您可能需要使用该函数: SELECT GROUP_CONCAT(name) AS name FROM users WHERE city = 'NewYork'; 测试用例: CREATE TABLE users (name varchar(10

我试图在一行中获得一个列结果。在MySql中可能吗 我说

现在这将导致

name
mak
sandy
john
我能得到这个结果吗

name  
mak,sandy,john
I Mysql concat_ws()函数执行concat,但不显示结果。

您可能需要使用该函数:

SELECT GROUP_CONCAT(name) AS name FROM users WHERE city = 'NewYork';
测试用例:

CREATE TABLE users (name varchar(10), city varchar(10));
INSERT INTO users VALUES ('mak', 'NewYork');
INSERT INTO users VALUES ('sandy', 'NewYork');
INSERT INTO users VALUES ('john', 'NewYork');
INSERT INTO users VALUES ('paul', 'Washington');
结果:

+----------------+
| name           |
+----------------+
| mak,sandy,john |
+----------------+
1 row in set (0.00 sec)
您可能需要使用以下功能:

SELECT GROUP_CONCAT(name) AS name FROM users WHERE city = 'NewYork';
测试用例:

CREATE TABLE users (name varchar(10), city varchar(10));
INSERT INTO users VALUES ('mak', 'NewYork');
INSERT INTO users VALUES ('sandy', 'NewYork');
INSERT INTO users VALUES ('john', 'NewYork');
INSERT INTO users VALUES ('paul', 'Washington');
结果:

+----------------+
| name           |
+----------------+
| mak,sandy,john |
+----------------+
1 row in set (0.00 sec)

适合你吗?

适合您吗?

concat_ws()
是一种按行操作。您需要
group\u concat()
,它可以在多行上工作:
concat\u ws()
是每行操作。您需要
group\u concat()
,它可以在多行上工作: