従来の MySQL バージョン (MySQL 4) で列内のカンマ区切り値を合計するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-30 04:00:02
オリジナル
1046 人が閲覧しました

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 でカンマ区切り 10 進数列を合計するための効率的なソリューションを次に示します。

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート