序文 場合によっては、第 1 正規形設計パターンに従わないビジネス テーブルに遭遇することがあります。つまり、複数の属性値が 1 つの列に格納されます。次の表に示すように
一般的には2つの共通の要件があります(テストデータについては記事の最後を参照してください) 1. 繰り返しのない値をすべて取得する。
SQL は次のとおりです。 選択distinct(substring_index(substring_index(a.col,',',b.help_topic_id+1),',',-1)) から (select group_concat(distinct `value`) as col from `row_to_col`) として 参加する mysql.help_topicをbとして b.help_topic_id で < (char_length(a.col) - char_length(replace(a.col,',',''))+1) 2. 各値とそれに対応する主キーを表示します。
SQL は次のとおりです。 a.pk、substring_index(substring_index(a.col、'、'、b.help_topic_id+1)、'、'、-1) を選択します。 から (`row_to_col` から `value` を col,pk として選択) 参加する mysql.help_topicをbとして b.help_topic_id で < (char_length(a.col) - char_length(replace(a.col,',',''))+1) 実装のアイデア: 要件 1: 1. group_concat関数を使用して値列の値をコンマ区切りの文字列に連結し、substring_index関数を使用して文字列をインターセプトします。 知らせ: 要件2: 最終的なクエリが異なる点を除けば、考え方は基本的に要件1と同じです。 関連する機能: length: 文字列が占めるバイト数を返します。これは計算フィールドの長さです。漢字または漢字記号は 3 文字としてカウントされ、数字、文字、英語記号は 1 文字としてカウントされます。 テストデータ: `row_to_col` が存在する場合はテーブルを削除します。 テーブル `row_to_col` を作成します ( `pk` int(11) NOT NULL AUTO_INCREMENT、 `value` varchar(255) デフォルト NULL, 主キー (`pk`) ) ENGINE=InnoDB AUTO_INCREMENT=8 デフォルト CHARSET=utf8; `row_to_col` に VALUES ('1', 'ET,AT') を挿入します。 `row_to_col` に VALUES ('2', 'AT,BT') を挿入します。 `row_to_col` VALUES ('3', 'AT,DT') に INSERT します。 `row_to_col` に VALUES ('4', 'DT,CT,AT') を挿入します。 参照: これで、MySQL でカンマ区切りの列を行と列に変換する方法についての記事は終了です。MYSQL のカンマ区切りの列を行と列に変換する方法についての詳細は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Element における複数データ読み込み最適化の実装
>>: Javascript配列の重複排除のいくつかの方法の詳細な説明
MySQL では、LOAD_FILE() 関数はファイルを読み取り、その内容を文字列として返します。...
1. INSERT INTO SELECT文ステートメントの形式は次のとおりです: Insert ...
CSS3 - 影の追加(ボックスシャドウの使用) CSS3 - div またはテキストに影を追加する...
xshell を使用したリモート接続システムの自動切断の問題の解決策: 1. サーバー構成サーバーは...
1. Eコマースアイコン2. アイコンスイーツ2 3. 携帯電話アイコンパック4. 旗アイコンセット...
1. CSS3アニメーション☺CSS3 アニメーションは、JavaScript を介して要素のスタイ...
最近、shake.jsを使用して、shakeに似た機能を作成しました。ただし、shake機能はios...
序文ドラッグ アンド ドロップ機能を追加すると、プログラムがより自然でユーザーフレンドリーになります...
序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...
以下は、mysql 5.7 の /etc/my.cnf の一般的なパラメータの一部です。これらを自分...
ウェブを閲覧しているときに 404 ページに遭遇することはあまりないので、見落としがちです。しかし、...
知らせ! ! ! uid が (a,b,c,null) に含まれないユーザーから * を選択します。...
最近のビジネスでは、オンライン トレーニング システムが特定のオンライン プレビュー ページに対する...
1. ヘルプコマンド1. 現在のDockerバージョンを表示する docker バージョン2. イメ...
まず第一に、私はウェブデザイナーです。具体的には、私は XHTML フロントエンド デザイナーです。...