Concatenar linhas em uma única coluna no MySQL
146d atrás
Considere uma tabela com a seguinte estrutura:
CREATE TABLE UserPet (
pet VARCHAR(255) NOT NULL,
userId INT,
PRIMARY KEY (userId, pet)
);
E os seguintes registros:
INSERT INTO UserPet VALUES ('Cachorro', 1);
INSERT INTO UserPet VALUES ('Gato', 1);
INSERT INTO UserPet VALUES ('Coelho', 1);
INSERT INTO UserPet VALUES ('Cachorro', 2);
INSERT INTO UserPet VALUES ('Tartaruga', 2);
INSERT INTO UserPet VALUES ('Gato', 3);
INSERT INTO UserPet VALUES ('Hamster', 3);
Nesse caso, se você quiser selecionar os pets de cada usuário agrupados uma única coluna, você poderia utilizar a seguinte query #MySQL:
SELECT GROUP_CONCAT(pet SEPARATOR ', ') pets, userId
FROM UserPet
GROUP BY userId;
Você pode também concatenar os registros de apenas um usuário:
SELECT GROUP_CONCAT(pet SEPARATOR ', ') pets, userId
FROM UserPet
WHERE userId = 1;
Comentários (0)