id day line color 1 1 1 white 2 1 2 orange 3 2 1 White 4 2 2 Orange 5 2 3 White
I’m trying to get a result :
day line color 1 1,2 white,orange 2 1,2,3 white,orange,white SELECT day , line , color from name_table GROUP BY day ORDER BY day ASC
does not work for me, any help
Advertisement
Answer
You can use GROUP_CONCAT for that purpose
CREATE TABLE name_table (`id` int, `day` int, `line` int, `color` varchar(6)) ; INSERT INTO name_table (`id`, `day`, `line`, `color`) VALUES (1, 1, 1, 'white'), (2, 1, 2, 'orange'), (3, 2, 1, 'White'), (4, 2, 2, 'Orange'), (5, 2, 3, 'White') ;
SELECT day , GROUP_CONCAT(line ORDER BY line ASC) kine , GROUP_CONCAT(color ORDER BY line ASC) color FROM name_table GROUP BY day ORDER BY day ASCday | kine | color --: | :---- | :----------------- 1 | 1,2 | white,orange 2 | 1,2,3 | White,Orange,White
db<>fiddle here