如何把这个结果集列变成行
时间: 2024-03-08 19:49:47 浏览: 12
要将查询结果从列转换为行,可以使用 MySQL 中的 GROUP_CONCAT 函数。将需要转换的列作为 GROUP_CONCAT 函数的参数,并指定一个分隔符,就可以将这些列的值合并成一个字符串。具体地,可以将上述查询语句作为子查询,然后在外层查询中使用 GROUP_CONCAT 将需要转换的列合并成一行。例如:
```
SELECT
GROUP_CONCAT(id) AS ids,
GROUP_CONCAT(name) AS names,
user_id,
patient_id
FROM
(
-- 上述查询语句作为子查询
SELECT
t1.id,
t1.name,
t1.user_id,
t1.patient_id
FROM
tapp_family_member t1
RIGHT JOIN (
SELECT
user_id,
patient_id
FROM
tapp_family_member
WHERE
delete_flag = 0
GROUP BY
CONCAT(user_id, '-', patient_id)
HAVING
COUNT(*) >= 2
ORDER BY
id
) t2 ON t1.user_id = t2.user_id
AND t1.patient_id = t2.patient_id
WHERE
t1.delete_flag = 0
) t
GROUP BY
user_id,
patient_id;
```
这样就可以将原本多行的结果集转换为一行,每个需要转换的列对应一个合并后的字符串。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)