ホームページ >データベース >mysql チュートリアル >MySQL のカンマ区切りリスト内の項目を数えるにはどうすればよいですか?

MySQL のカンマ区切りリスト内の項目を数えるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-05 03:36:40612ブラウズ

How Can I Count Items in a Comma-Separated List in MySQL?

MySQL のカンマ区切りリスト内の項目の数

MySQL 列に格納されているカンマ区切りリスト内の項目数の決定データ分析では一般的なタスクになります。

使用文字列の長さの操作

追加の関数を使用せずにこれを実現するには、元のリスト文字列とカンマを除いた対応する文字列の違いを利用できます。

LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))

この式は、元の文字列の長さからカンマを取り除いた文字列の長さ。カンマは全体の長さに影響するため、カンマがないことは項目の数を示します。

末尾のカンマの処理

この場合、提供されたデータには追加の末尾が含まれることに注意してください。コンマ。従来の文字列長の計算にはこの末尾のカンマが含まれており、誤ったカウントが発生するため、これは特に重要です。 REPLACE 関数を使用して除外することで、正確なカウントが得られます。

末尾にカンマがない一般的なケース

カンマ区切りの文字列が含まれていない一般的なケースです。末尾のカンマ (「foo,bar,baz」など)、変更された式は次のようになります。必要:

LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1

追加の 1 は、欠落している末尾のカンマを補い、正しい項目数を保証します。

これらの文字列操作手法を採用することで、カンマ内の項目を効率的にカウントできます。純粋な SQL クエリを使用した分離リスト。

以上がMySQL のカンマ区切りリスト内の項目を数えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。