ホームページ > データベース > mysql チュートリアル > MySQL 値をカンマ区切りの文字列に変換するにはどうすればよいですか?

MySQL 値をカンマ区切りの文字列に変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-04 18:00:03
オリジナル
647 人が閲覧しました

How to Convert MySQL Values into a Comma-Separated String?

選択した MySQL 値をカンマ区切りの文字列に変換する

MySQL を使用する場合、多くの場合、データを取得して、それを次の形式に変換する必要があります。より管理しやすい形式。一般的な要件の 1 つは、選択した値のリストをカンマ区切りの文字列に変換することです。

次のシナリオを考えてみましょう。id という列とparent_id 列を持つ table_level という名前のテーブルがあります。 parent_id が 4 に等しいすべての ID 値を選択し、それらを単一のカンマ区切り文字列に変換したいとします。

問題ステートメント:

最初のコードは次のとおりです。次のように:

SELECT id
FROM table_level
WHERE parent_id = 4;
ログイン後にコピー

このクエリは ID 値を正しく返しますが、ID 値を個別の行として表示するため、単一の文字列として操作することが困難になります。

必要な出力:

必要な出力は、次のカンマ区切りの文字列形式である必要があります:

"5,6,9,10,12,14,15,17,18,779"
ログイン後にコピー
ログイン後にコピー

解決策:

目的の出力を実現するには、MySQL の GROUP_CONCAT() 関数を利用できます。この関数は、指定された列の値を、指定された区切り文字で区切って連結します。この場合、区切り文字はカンマになります。

変更されたクエリ:

SELECT GROUP_CONCAT(id)
FROM table_level
WHERE parent_id = 4
GROUP BY parent_id;
ログイン後にコピー

この変更されたクエリは、GROUP_CONCAT() を使用して ID 値を連結します。カンマを単一の文字列にします。 GROUP BY 句により、指定されたparent_id 値 (この場合は 4) に対してのみ連結が実行されるようになります。

出力:

変更されたクエリを実行すると、目的のカンマ区切り文字列出力:

"5,6,9,10,12,14,15,17,18,779"
ログイン後にコピー
ログイン後にコピー

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

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