Maison > Article > base de données > Comment additionner les valeurs séparées par des virgules dans une colonne dans les anciennes versions de MySQL (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>
Exemple d'utilisation :
<code class="mysql">mysql> SELECT SUM_OF_LIST("5,2.1") AS Result; +--------+ | Result | +--------+ | 7.1 | +--------+</code>
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!