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

时间:2010-09-06 19:13:42

标签: mysql

我正在尝试将列结果放在一行中。是否可以在MySql中 说我

Select name from users where city = 'NewYork'

现在这将导致

name
mak
sandy
john

我可以在此

中获得结果吗?
name  
mak,sandy,john

我的Mysql concat_ws()函数确实是concat,但它没有显示我的结果。

2 个答案:

答案 0 :(得分:0)

您可能想要使用GROUP_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)

答案 1 :(得分:0)

SELECT GROUP_CONCAT(name SEPARATOR ',') FROM users WHERE city = 'NewYork'

适合你吗?