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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 18:00:03687ブラウズ

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

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