2010-09-06 3 views
1

J'essaie d'obtenir un résultat de colonne dans une seule ligne. Est-il possible dans MySql dire que jeComment obtenir un résultat de colonne dans une rangée

Select name from users where city = 'NewYork' 

maintenant cela se traduira par

name 
mak 
sandy 
john 

Puis-je obtenir le résultat dans cette

name 
mak,sandy,john 

I fonction CONCAT_WS Mysql() ne concat mais c'est ne pas me montrer le résultat.

+1

'concat_ws()' est une opération par ligne. vous avez besoin de 'group_concat()', qui fonctionne sur plusieurs lignes: http://dev.mysql.com/doc/refman/5.0/fr/group-by-functions.html#function_group-concat –

Répondre

0

Vous pouvez utiliser la fonction GROUP_CONCAT():

SELECT GROUP_CONCAT(name) AS name FROM users WHERE city = 'NewYork'; 

Cas de test:

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'); 

Résultat:

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

Salut merci pour votre réponse. –

0

est-

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

vous convient?

Questions connexes