mysql group_concat多个值分离
时间: 2023-10-09 22:15:26 浏览: 81
可以使用 `SUBSTRING_INDEX()` 函数来分离 `GROUP_CONCAT` 函数返回的多个值。 `SUBSTRING_INDEX()` 函数以指定分隔符为标志,并返回字符串中指定的第 N 个子字符串。
例如,如果你有一个 `GROUP_CONCAT` 函数返回以下字符串:
```
'apple,banana,orange'
```
你可以使用以下 `SUBSTRING_INDEX()` 函数将其分离:
```
SELECT SUBSTRING_INDEX(GROUP_CONCAT(fruits), ',', 1) AS first_fruit,
SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(fruits), ',', 2), ',', -1) AS second_fruit,
SUBSTRING_INDEX(GROUP_CONCAT(fruits), ',', -1) AS last_fruit
FROM my_table;
```
这将返回以下结果:
```
first_fruit | second_fruit | last_fruit
---------------------------------------
apple | banana | orange
```
请注意,`SUBSTRING_INDEX()` 函数的第三个参数可以是正数或负数。如果是正数,它将返回从左侧开始的第 N 个子字符串;如果是负数,则返回从右侧开始的第 N 个子字符串。在上面的查询中,我们使用了 `-1` 来获取最后一个子字符串。
阅读全文