首页  >  文章  >  数据库  >  如何在旧版 MySQL 版本 (MySQL 4) 中对列中的逗号分隔值求和?

如何在旧版 MySQL 版本 (MySQL 4) 中对列中的逗号分隔值求和?

Susan Sarandon
Susan Sarandon原创
2024-10-30 04:00:021036浏览

How to Sum Comma-Separated Values in a Column in Legacy MySQL Versions (MySQL 4)?

在 MySQL 中对逗号分隔列求和:旧版本的解决方案

在 MySQL 版本 4 中,处理逗号分隔的数字列出现尝试执行聚合时的挑战。然而,虽然现代版本的 MySQL 提供了存储过程来解决此类复杂性,但它们在 MySQL 4 中不可用。

不幸的是,MySQL 4 是一个过时的版本,强烈建议不要使用它。 4.1 分支的最新版本是 2008 年的 4.1.25,使其不受支持并已过时。大多数 Linux 发行版已停止提供 MySQL 4。如果可能,强烈建议升级到 MySQL 5。

尽管如此,如果升级不可行,这里有一个在 MySQL 4 中对逗号分隔的小数列求和的有效解决方案:

<code class="mysql">DELIMITER //
CREATE FUNCTION SUM_OF_LIST(s TEXT)
RETURNS DOUBLE
DETERMINISTIC
NO SQL
BEGIN
DECLARE res DOUBLE DEFAULT 0;
WHILE INSTR(s, ",") > 0 DO
SET res = res + SUBSTRING_INDEX(s, ",", 1);
SET s = MID(s, INSTR(s, ",") + 1);
END WHILE;
RETURN res + s;
END //
DELIMITER ;</code>

使用示例:

<code class="mysql">mysql> SELECT SUM_OF_LIST("5,2.1") AS Result;
+--------+
| Result |
+--------+
|    7.1 |
+--------+</code>

以上是如何在旧版 MySQL 版本 (MySQL 4) 中对列中的逗号分隔值求和?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn