這篇文章主要介紹了MYSQL 一個巧用字元函數做資料篩選的題,需要的朋友可以參考下
問題描述:
結構:
test 有兩個字段,
分別是col1和col2,都是字元字段,
裡面的內容都是用,號分隔的三個數字,並且是一一對應的,
例如col1內容是:26,59,6
col2內容是:1502.5,1690,2276.77
一一對應就是26的值是1502.5,59是1690 ,6對應2276.77
搜尋條件:
選擇一個id,例如選擇59,再輸入一個數字,例如:2000
然後就是搜尋col1中存在id=59的記錄,然後搜尋col2小於2000,即1690<2000
舉例:
如有以下三筆記錄,搜尋id為59,值小於2000的記錄:
26,59,6 | 1502.5,1690,2276.77
59,33,6 | 3502.1,1020,2276.77
22,8,59 | 1332.6,2276.77
3502.1>2000
1520.77< ;2000
drop table test; create table test ( col1 varchar(100),col2 varchar(100)); insert test select '26,59,6', '1502.5,1690,2276.77' union all select '59,33,6', '3502.1,1020,2276.77' union all select '22,8,59', '1332.6,2900,1520.77'; select col1,col2 from (select *,find_in_set('59',col1) as rn from test) k where substring_index(concat(',',substring_index(col2,',',rn)),',',-1) <'2000';
+---------+---------------------+ | col1 | col2 | +---------+---------------------+ | 26,59,6 | 1502.5,1690,2276.77 | | 22,8,59 | 1332.6,2900,1520.77 | +---------+---------------------+
以上是MYSQL使用一個字元函數做資料篩選問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!