MySQL将逗号拼接的字段进行分割并求和
时间: 2024-02-18 07:02:24 浏览: 129
如果你有一个逗号分隔的字段,可以使用 MySQL 的 FIND_IN_SET() 函数和 SUBSTRING_INDEX() 函数将其拆分成单个字段,并使用 SUM() 函数将它们求和。具体步骤如下:
首先,使用 SUBSTRING_INDEX() 函数将逗号拆分成单独的字段。例如,如果你的字段名为 `numbers`,可以使用以下查询:
```
SELECT SUBSTRING_INDEX(numbers, ',', 1) AS number1,
SUBSTRING_INDEX(SUBSTRING_INDEX(numbers, ',', 2), ',', -1) AS number2,
SUBSTRING_INDEX(SUBSTRING_INDEX(numbers, ',', 3), ',', -1) AS number3,
-- 继续拆分其他字段
FROM table_name;
```
这将返回一个包含单独数字字段的结果集,其中 `number1` 表示第一个数字,`number2` 表示第二个数字,以此类推。
然后,对每个数字字段使用 FIND_IN_SET() 函数,将其转换为数字并求和:
```
SELECT SUM(FIND_IN_SET(number1, '1') + FIND_IN_SET(number2, '1') + FIND_IN_SET(number3, '1')) AS sum_ones,
SUM(FIND_IN_SET(number1, '2') + FIND_IN_SET(number2, '2') + FIND_IN_SET(number3, '2')) AS sum_twos,
-- 继续计算其他数字的总和
FROM (
SELECT SUBSTRING_INDEX(numbers, ',', 1) AS number1,
SUBSTRING_INDEX(SUBSTRING_INDEX(numbers, ',', 2), ',', -1) AS number2,
SUBSTRING_INDEX(SUBSTRING_INDEX(numbers, ',', 3), ',', -1) AS number3,
-- 继续拆分其他字段
FROM table_name
) AS t;
```
这将返回一个结果集,其中包含每个数字的总和。如果要计算其他数字的总和,只需在 SELECT 语句中添加相应的 SUM() 函数即可。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.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)