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とポートにバインドする方法

推薦する

MySQL RouterはMySQLの読み取りと書き込みの分離を実装します

目次1. はじめに2. MySQLルーターを構成する2.1 MySQLルーターのインストール2.2 ...

WeChatアプレットのスケルトン画面の実装例

目次スケルトンスクリーンとはアプレットでスケルトン画面を生成する方法導入方法表示と非表示ユーザーエク...

vue3 を使用してカウント関数コンポーネントのカプセル化例を実装する

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...

Ubuntu16.04にclionをインストールするプロセス全体と手順の詳細な説明

CLion のプロセス全体を最初から説明します。CLion は、JetBrains がリリースした新...

VUE ユニアプリカスタムコンポーネントについての簡単な説明

1. 親コンポーネントはpropsを通じて子コンポーネントにデータを渡すことができる2. 子コンポー...

Windows での MySQL コミュニティ サーバー 8.0.16 のインストールと構成方法のグラフィック チュートリアル

最近、MySQL関連の構文をよく見かけます。また、MySQLストアドプロシージャの書き方も学びたいの...

単一のdivの正多角形変換を実現する純粋なCSS

前回の記事では、beforeとafterの擬似要素を使用してMaterial Designスタイルの...

MySQL 2級コンピュータ試験共通テストポイント 8つのMySQLデータベース設計最適化方法

MySQLデータベース設計の8つの最適化方法の詳細は次のとおりです。 1. 最も適切なフィールド属性...

DockerプライベートイメージライブラリとAlibaba CloudオブジェクトストレージOSSの簡単な分析

Docker プライベートイメージライブラリDockerプライベートイメージライブラリとAlibab...

Linux で cmake を使用して MySQL をコンパイルおよびインストールするための詳細なチュートリアル

1. cmakeをインストールする1. cmakeの圧縮パッケージを解凍する [root@mysql...

Baidu デッドリンクファイルを作成する方法

Baidu によって定義されているデッドリンク形式には 2 種類あります。 1: XML形式のデッド...

Raspberry Pi 4 に Ubuntu 19.10 をインストールするための詳細なチュートリアル

以前、raspbian で実行したときに opencv の一部の依存関係をパッケージ化できず、一部の...

Linuxサーバー間のリアルタイムファイル同期の実現

使用シナリオ既存のサーバー A と B の場合、サーバー A の指定されたディレクトリ (たとえば、...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...