0
有几行:合并多个行的值成单
Id marks
1 15
1 16
1 17
2 6
2 15
3 9
3 10
我想所有的ID合并成一个单一的一行, 输出象下面这样:
Id marks1 marks2 marks3
1 15 16 17
2 6 15
3 9 10
有几行:合并多个行的值成单
Id marks
1 15
1 16
1 17
2 6
2 15
3 9
3 10
我想所有的ID合并成一个单一的一行, 输出象下面这样:
Id marks1 marks2 marks3
1 15 16 17
2 6 15
3 9 10
拼接领域成单个字段在mysql中变得非常简单。有它的功能。 CONCAT()
。更好的是,如果你想用相同的字符串划分它们,你可以使用CONCAT_WS()
。这是连接分隔符,第一个参数是分隔符和任何其他参数后,你想加入一个领域。
http://www.w3resource.com/mysql/string-functions/mysql-concat_ws-function.php
SELECT id, CONCAT_WS(' ', marks1, marks2, marks3) as 'mark1 | mark2 | mark3' from my_table group by id;
UPDATE
我想我误解你的模式结构。我认为你实际上正在寻找的是GROUP_CONCAT()
。
SELECT id, GROUP_CONCAT(marks) as 'All Marks' from my_table group by id;
添加一些更多的样本数据,例如(2,15),(2,16)和(3,18),并调整预期结果。 – jarlh
你是怎么看待@Ritesh Sharma的? –
它工作。谢谢 –