ホームページ > データベース > mysql チュートリアル > MySQL クエリ結果をカンマ区切りリストとして取得するにはどうすればよいですか?

MySQL クエリ結果をカンマ区切りリストとして取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-17 02:13:10
オリジナル
962 人が閲覧しました

How Can I Retrieve MySQL Query Results as a Comma-Separated List?

MySQL クエリ結果をカンマ区切りリストとして取得します

MySQL では、クエリ結果をカンマ区切りのリストとして取得する必要がある場合があります。サブクエリを使用して特定の情報を抽出することはできますが、データを目的の形式で表示するにはいくつかの制限が発生します。

質問:

次のクエリを考えてみましょう:

<code class="language-sql">SELECT p.id, p.name, 
       (SELECT name 
          FROM sites s 
         WHERE s.id = p.site_id) AS site_list
  FROM publications p</code>
ログイン後にコピー

サブクエリは各サイト名を個別の列として返しますが、これは目的のカンマ区切りリストの結果と一致しません。

解決策:

MySQL は、この目標を達成するために GROUP_CONCAT 関数を提供します。この機能を利用すると、クエリを次のように変更できます:

<code class="language-sql">SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON(s.id = p.site_id)
GROUP BY p.id, p.name;</code>
ログイン後にコピー

GROUP_CONCAT 指定された列 (この場合、「sites」テーブルの「name」列) の値を連結し、事前定義された区切り文字 (通常はカンマ) で区切ります。次に、結果は「出版物」テーブルの「id」列と「name」列によってグループ化され、各出版物とその関連サイトに一意のレコードが提供され、カンマ区切りのリストとして表示されます。

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

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