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 マスタースレーブレプリケーションプロセスの詳細な説明

1. マスタースレーブレプリケーションとは何ですか?マスター データベースの DDL および DML...

Vue/React シングルページ アプリケーションをリフレッシュなしで復元するソリューション

目次導入なぜわざわざ?落とし穴のあるコミュニティソリューション(Vue を例に挙げる)現時点では良い...

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...

Zookeeperスタンドアロン環境とクラスタ環境の構築

1. 単一マシン環境の構築# 1.1 ダウンロードZookeeper の対応するバージョンをダウンロ...

製品の拡大鏡効果を実現する JavaScript

この記事では、参考までに、製品拡大鏡を実装するためのJavaScriptの具体的なコードを紹介します...

WEBAPP開発スキルのまとめ(モバイルWebサイト開発の注意点)

1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...

スライダー検証コードを実装するJavaScript

この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...

HTMLのインライン要素とブロックレベル要素とは何か、またそれらの違いは何ですか

以前の就職面接で面接官が尋ねた質問を覚えています。「インライン要素とは何ですか。ブロックレベル要素と...

nginx を使用して同じドメイン名で複数の Vue プロジェクトをデプロイし、リバース プロキシを使用する方法

効果現在、プロジェクトは2つ(project1、project2)あり、nginxに付属するinde...

React Hook の使用例 (一般的なフック 6 つ)

1. useState: 関数コンポーネントに状態を持たせる使用例: // カウンター impor...

K8S クラスターを構築し、Hyper-V で Docker をインストールする方法

Win10 システムをインストールしていて、k8s クラスターを構築する場合、Win10 に付属する...

CSS を使用して小さな画像をプルダウンし、大きな画像と情報を表示する方法

今日は、Taobao、JD.comなどのショッピングモールでよく使われている、小さな画像の上にマウス...

JS 面接の質問: forEach はループから抜け出すことができますか?

この質問をされたとき、私は無知で頭が真っ白になりました。もちろん、正しく答えられませんでした。私はず...

Vite2とVue3を使用したウェブサイトの国際化を実現するプロセス全体

目次序文vue-i18nをインストールするロケールの設定getLangs.js の実装i18nインス...