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