mysql union 不同的列, 然后根据user_id字段将多行数据合并成一行
时间: 2024-03-06 14:49:26 浏览: 71
可以使用MySQL中的GROUP_CONCAT函数来将多行数据合并成一行,示例代码如下:
```
SELECT user_id, GROUP_CONCAT(col1 SEPARATOR ',') AS col1_list, GROUP_CONCAT(col2 SEPARATOR ',') AS col2_list
FROM (
SELECT user_id, col1, NULL AS col2 FROM table1
UNION
SELECT user_id, NULL AS col1, col2 FROM table2
) AS temp
GROUP BY user_id;
```
其中,将两个表的不同列合并成一个表,并使用GROUP_CONCAT函数将同一user_id的多行数据合并成一行。需要注意的是,由于两个表的列不同,需要使用NULL占位以确保两个表的列数一致。
阅读全文