MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

MYSQL 文字関数を使用してデータをフィルタリングすることに関する質問

問題の説明:

構造:

テストには2つのフィールドがあります。
これらは col1 と col2 で、どちらも文字フィールドです。
内容は で区切られた 3 つの数字で、それぞれが 1 対 1 で対応しています。

たとえば、col1の内容は26,59,6です。
col2 の内容は: 1502.5,1690,2276.77
一対一の対応は、26の値は1502.5、59は1690、6は2276.77に対応する。


検索条件:

59などのIDを選択し、2000などの数字を入力します。
次に、col1でid=59のレコードを検索し、次にcol2が2000未満、つまり1690<2000のレコードを検索します。

例:

次の 3 つのレコードがある場合、ID が 59 で値が 2000 未満のレコードを検索します。

26,59,6 | 1502.5,1690,2276.77
59,33,6 | 3502.1,1020,2276.77
22,8,59 | 1332.6,2900,1520.77

ID 59 の 3 つのレコードが検索され、2 番目の検索条件が次のように決定されます (つまり、対応する ID 位置の数字が比較されます)。

1690<2000
3502.1>2000
1520.77<2000

ドロップテーブルテスト。 
テーブル test ( col1 varchar(100), col2 varchar(100)) を作成します。 
挿入テスト選択 
'26,59,6'、'1502.5,1690,2276.77' 結合すべて選択 
'59,33,6'、'3502.1,1020,2276.77' 結合すべて選択 
'22,8,59'、'1332.6,2900,1520.77'; 
列1、列2を選択 
(select *,find_in_set('59',col1) as rn from test) kから 
ここで、substring_index(concat(',',substring_index(col2,',',rn)),',',-1) 
 <'2000'; 

+---------+---------------------+

| 列1 | 列2 |

+---------+---------------------+

| 26,59,6 | 1502.5,1690,2276.77 |

| 22,8,59 | 1332.6,2900,1520.77 |

+---------+---------------------+

<<:  jsはユーザーのページ操作を記憶するためにクッキーを使用します

>>:  Dockerコンテナを外部IPとポートにバインドする方法

推薦する

Ubuntu 18.04 は mysql 5.7.23 をインストールします

以前、Ubuntu 16.04 に MySQL をスムーズにインストールしました。今回、Ubuntu...

CSSは5つの一般的な2D変換を実装します

CSS の 2D 変換を使用すると、移動、回転、拡大縮小、変形などの基本的な変換操作を 2 次元空間...

jQuery を使用してカルーセル効果を実装する

この記事では、jQueryでカルーセルチャートを実装するための具体的なコードを参考までに共有します。...

MySQLのインストールと設定に関する詳細なチュートリアル

目次インストール不要のMySQLバージョン1. インストール パッケージをダウンロードします。 2....

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

MySQL インデックスの詳細な説明

目次1. インデックスの基本1.1 はじめに1.2 インデックスの仕組み1.3 インデックスの種類1...

Dockerデータストレージの概要

この記事を読む前に、ボリューム、バインドマウント、tmpfs マウントの基本を理解しておいてください...

MySQL システム ユーザーが開くことができるファイルの最大数に関する簡単な説明

本から学ぶことは常に浅はかで、これがさらなるダウンタイムを引き起こすことには決して気づきません......

Dockerのデフォルトネットワークセグメントの正しい変更手順

背景同僚がセキュリティ プロジェクトに取り組んでおり、AWS サーバーに秘密兵器を展開する必要があり...

Vue.js と MJML でレスポンシブなメールを作成する

MJML は、開発者が美しく、応答性に優れ、あらゆるデバイスやメール クライアントで動作する魅力的な...

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

Javascriptでオブザーバーモードを実装する方法を教えます

目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...

Linux での MySql centos7 のバイナリコンパイルとインストールに関するチュートリアル

// これをインストールするのに丸一日かかったので、記録するためにメモを書きました。 //何か問題が...

表のセル間隔とセルパディングの違いの詳細な説明

テーブルとは何ですか?セルセルで構成されています。表では、<td> の数は、<tr...

面白いウェブサイトをデザインするための方法とテクニック(写真)

他の人から「つまらない」とか「時代遅れ」というフィードバックを受けて、それを変更しようとしたのに、更...