Heim  >  Artikel  >  Datenbank  >  Wie summiere ich durch Kommas getrennte Werte in einer Spalte in älteren MySQL-Versionen (MySQL 4)?

Wie summiere ich durch Kommas getrennte Werte in einer Spalte in älteren MySQL-Versionen (MySQL 4)?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 04:00:021035Durchsuche

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

Summieren einer durch Kommas getrennten Spalte in MySQL: Eine Lösung für ältere Versionen

In MySQL Version 4 wird der Umgang mit durch Kommas getrennten numerischen Spalten vorgestellt Eine Herausforderung beim Versuch, Aggregationen durchzuführen. Moderne Versionen von MySQL bieten zwar gespeicherte Prozeduren zur Bewältigung solcher Komplexitäten, diese sind jedoch in MySQL 4 nicht verfügbar.

Leider handelt es sich bei MySQL 4 um eine veraltete Version, von deren Verwendung dringend abgeraten wird. Die neueste Version im 4.1-Zweig war 4.1.25 aus dem Jahr 2008, was sie nicht mehr unterstützt und veraltet macht. Die meisten Linux-Distributionen bieten MySQL 4 nicht mehr an. Wenn möglich, wird ein Upgrade auf MySQL 5 dringend empfohlen.

Wenn ein Upgrade dennoch nicht möglich ist, finden Sie hier eine effiziente Lösung zum Summieren von durch Kommas getrennten Dezimalspalten in 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>

Verwendungsbeispiel:

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

Das obige ist der detaillierte Inhalt vonWie summiere ich durch Kommas getrennte Werte in einer Spalte in älteren MySQL-Versionen (MySQL 4)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn