Maison > base de données > tutoriel mysql > le corps du texte

Comment additionner les valeurs séparées par des virgules dans une colonne dans les anciennes versions de MySQL (MySQL 4) ?

Susan Sarandon
Libérer: 2024-10-30 04:00:02
original
1034 Les gens l'ont consulté

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

Résumer une colonne séparée par des virgules dans MySQL : une solution pour les versions héritées

Dans MySQL version 4, la gestion des colonnes numériques séparées par des virgules présente un défi lorsque l’on tente d’effectuer des agrégations. Cependant, bien que les versions modernes de MySQL proposent des procédures stockées pour résoudre de telles complexités, elles ne sont pas disponibles dans MySQL 4.

Malheureusement, MySQL 4 est une version obsolète et son utilisation est fortement déconseillée. La dernière version de la branche 4.1 était la 4.1.25 en 2008, la rendant non prise en charge et obsolète. La plupart des distributions Linux ont cessé de fournir MySQL 4. Si possible, la mise à niveau vers MySQL 5 est fortement recommandée.

Néanmoins, si la mise à niveau n'est pas réalisable, voici une solution efficace pour additionner les colonnes décimales séparées par des virgules dans 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>
Copier après la connexion

Exemple d'utilisation :

<code class="mysql">mysql> SELECT SUM_OF_LIST("5,2.1") AS Result;
+--------+
| Result |
+--------+
|    7.1 |
+--------+</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal