首页 > 解决方案 > 如何在 MySQL 列中添加逗号分隔的数字字符串中的数字?

问题描述

我有一个 MySQL 列,其中包含一串用分号分隔的分数,例如:“5;21;24;25;26;28;117”。

此列不是设计创建的,而是通过使用 GROUP_CONCAT 和 GROUP BY 从表中的多行收集值创建的。原始数据以电子表格的形式到达,其中包含多行 ID 值。

我可以使用带有 REPLACE 函数的 select 子句来替换 ; 带+。

SELECT values, REPLACE(values,";","+") AS score FROM [table_name] WHERE 1

values                                score
5;21;24;25;26;28;117                  5+21+24+25+26+28+117

但是我需要的是:5+21+24+25+26+28+117 的总和得到 246。

在不使用其他脚本语言的情况下,有什么方法可以在 MySQL 中做到这一点?

SELECT 子句向我显示了一串用 + 符号连接的数字。我正在寻找一种方法来评估该字符串以给我结果:246

更新:当我提出我的问题时,我做了更多的研究并想出了这个链接来解决我的问题:

https://dba.stackexchange.com/questions/120747/evaluate-a-string-value-as-a-computed-expression-in-an-sql-statement-sthg-like)。

我保留这个问题和答案的链接,以防它可以帮助其他人搜索相同的内容。

标签: mysql

解决方案


推荐阅读