MySQL で単一のフィールド内の複数の値を分割および結合する方法

MySQL で単一のフィールド内の複数の値を分割および結合する方法

複数の値を組み合わせて表示

これで、図1から図2に示す要件が揃いました。

図1

図2

どうやってやるんですか?

次のSQL:

SELECT id,GROUP_CONCAT(DISTINCT str) as str from test GROUP BY id

関連する知識ポイント

グループ連結

GROUP_CONCAT([DISTINCT] 接続するフィールド [ASC/DESCソートフィールドによる順序] [区切り文字 'separator'])

複数値の分割表示

ここでの要件は最初の例とは逆になります。

図3より

図3

図4へ

図4

これは少し複雑です。まず、図に示すように、str の処理、つまり文字 + ',' の 1 対 1 の処理を​​事前に行っています。次に、MySQL にはシーケンス機能がないため、シーケンス テーブルを事前に用意する必要があります。最大 id は、単一フィールドの最大項目数よりも大きくする必要があります。

配列表

具体的なSQLは次のとおりです。

t.id、SUBSTRING_INDEX(SUBSTRING_INDEX(str、'、'、s.id)、'、'、-1) を str として選択します。 
	test2 tから 
		シーケンス s を s.id<(LENGTH(t.str)/2+1) に結合します。 
			t.idで注文

関連する知識ポイント

SUBSTRING_INDEX(文字列、区切り文字、カウント)

SUBSTRING_INDEX(処理する文字列、区切り文字、カウント)

count が正の数の場合、左から右に数えて N 番目の区切り文字の左側にあるすべてのコンテンツになります。

負の数の場合は、右から始まり、N 番目の区切り文字の右側にあるすべての内容がカウントされます。

要約する

これで、MySQL の単一フィールドの複数値の分割と結合処理に関するこの記事は終了です。MySQL の単一フィールドの複数値の分割と結合に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLクエリ時にフィールドにデフォルト値を割り当てる方法
  • MySQL コマンドラインでテーブルにフィールドを追加します (フィールド名、空かどうか、デフォルト値)
  • MySQL テーブル フィールドのデフォルト値の設定 (グラフィック チュートリアルと詳細に注意)
  • MySQL で複数のフィールドを連結する詳細な例
  • MySQL 8.0の新機能、隠しフィールドの詳細な説明
  • MySQLのどのフィールドがインデックスに適しているかについての簡単な説明
  • mysql 更新ケース更新フィールド値が固定されていない操作
  • MySQLでレコードを変更する場合、更新操作フィールド = フィールド + 文字列
  • 複数のフィールドを変更するためのMysql更新の構文の詳細な分析
  • MySQLフィールドのデフォルト値を設定する方法

<<:  HTML テーブルタグチュートリアル (44): テーブルヘッダータグ

>>:  VUE ユニアプリライフサイクルに関する簡単な説明

推薦する

js は、州、市、地区の 3 段階の選択カスケードを実装します。

この記事では、省、市、地区の3段階選択を実現するためのjsの具体的なコードを紹介します。具体的な内容...

Docker は次の「Linux」になれるか?

Linux オペレーティング システムは過去 20 年間にわたってデータ センターに革命をもたらし...

ソースコードから MySQL 8.0.20 をコンパイルしてインストールする詳細なチュートリアル

前回の記事では、次のことを紹介しました。 MySQL8.0.20 インストール チュートリアルとイン...

Vueはログインタイプの切り替えを実装します

この記事では、ログインタイプの切り替えを実装するためのVueの具体的なコードを例として紹介します。具...

MySQL information_schema データベースの詳細な説明

1. 概要information_schema データベースは performance_schema...

HTML 言語百科事典

123WordPress.com-HTML noscriptオブジェクトolオプションPパラントプレ...

MySQLでのカスタムパラメータの使用に関する詳細な説明

MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

HTML の入力の readonly 属性と disabled 属性の違いについて簡単に説明します。

「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにしま...

JavaScriptは検証コードと検証のランダム生成を実装します

この記事では、検証コードのランダム生成と検証を実現するためのJavaScriptの具体的なコードを参...

Ubuntu 18.04はルート権限を取得し、ルートユーザーとしてログインします

事前に書いておきます:次の手順では、ターミナルにコマンドを入力する必要があります。コンピューターでブ...

React 純粋関数コンポーネント setState がページ更新を更新しない問題の解決方法

目次問題の説明:原因分析:解決:補足: Reactでは、フックが使用されている場合、useState...

MySQL でレプリケーション フィルターを動的に変更する方法

MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...

nginx proxy_cache キャッシュ設定の詳細な説明

序文:私は仕事柄、オンラインライブストリーミングの分野に携わっており、ビデオの再生やダウンロードには...

CocosCreator 入門チュートリアル: ネットワーク通信

ネットワーク通信の概要オンライン ゲームを開発する場合、必然的にネットワーク通信に対処する必要があり...