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 ユニアプリライフサイクルに関する簡単な説明

推薦する

Alibaba Cloudのセキュリティルール設定の詳細な説明

2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

Js における new 演算子の役割の詳細な説明

序文Js は現在最も一般的に使用されているコード操作言語であり、その中でも new 演算子は特によく...

露滴アニメーション効果を実装するための Three.js サンプル コード

序文みなさんこんにちは。CSS ウィザードの alphardex です。この記事では、three.j...

HTML でナンバープレート番号と州の略語を入力するためのサンプルコード

原理としては、まずボタン付きの div を記述し、次に画面のサイズに応じて自動的に適応してキーボード...

Vue.jsは背景テーブルコンポーネントのカプセル化を管理します

目次問題分析なぜカプセル化なのかパッケージの内容は何ですか?テーブルコンポーネントをカプセル化するデ...

Dockerのクイックガイド

Docker は、安全で繰り返し可能な環境でソフトウェアを自動的にデプロイする方法を提供し、コンピュ...

Javascript Echarts 空気質マップ効果の詳細な説明

まず、空気質データと地図データを組み合わせる必要があります。マップデータには属性名があるさまざまな都...

Ubuntu で FTP サーバーを構築する方法の詳細な説明 (成功保証)

1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...

Vueは州、都市、地区のカスケード選択を実現します

最近、省、市、地区のカスケード選択効果を実装する必要があります。省、市、地区のデータはすべてローカル...

HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、ヘッダーの幅と高さはコンテンツに応じて自動的に調整されます。ヘッダーの幅と高さを手動...

ウィンドウとLinuxプロジェクトを展開する際のLinuxファイルパスに問題はありません

長い間ブログを書いていませんでした。先週、プロジェクトをテストしたところ、いくつかのバグが見つかりま...

表のセルの内容が超過した場合に省略記号効果を表示する(実装コード)

例示するフロントエンド開発では、セルの幅を制限し、コンテンツが制限を超える部分に省略記号を表示する必...

Vue ページ印刷で自動ページングを実装する 2 つの方法

この記事では、ページ印刷の自動ページングを実現するためのVueの具体的なコードを例として紹介します。...