根据id列将MySQL表从垂直转换为水平

时间:2019-05-13 06:29:21

标签: mysql

我有一个如下表

id | main_id       | image
1  | 10            | 52343.jpg   
2  | 10            | 52344.jpg  
3  | 10            | 52345.jpg 
4  | 11            | 52346.jpg   
5  | 11            | 52347.jpg  
6  | 11            | 52348.jpg 
7  | 11            | 52349.jpg   
8  | 12            | 52350.jpg  
9  | 12            | 52351.jpg 

我想要这样的输出:

id | main_id  | image1    
1  | 10       | 52343.jpg, 52344.jpg, 52345.jpg 
2  | 11       | 52346.jpg, 52347.jpg, 52348.jpg, 52349.jpg 
3  | 12       | 52350.jpg, 52351.jpg 

只有所有具有相同main_id的图像都在同一行中。

1 个答案:

答案 0 :(得分:1)

使用group_concat()

select main_id,group_concat(image)
from tablename
group by main_id