明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

MYSQL使用一個(gè)字符函數(shù)做數(shù)據(jù)篩選問(wèn)題

[摘要]這篇文章主要介紹了MYSQL 一個(gè)巧用字符函數(shù)做數(shù)據(jù)篩選的題,需要的朋友可以參考下問(wèn)題描述:結(jié)構(gòu):test 有兩個(gè)字段,分別是col1和col2,都是字符字段,里面的內(nèi)容都是用,號(hào)分隔的三個(gè)數(shù)字,并且是一一對(duì)應(yīng)的,比如col1內(nèi)容是:26,59,6col2內(nèi)容是:1502.5,1690,2276....
這篇文章主要介紹了MYSQL 一個(gè)巧用字符函數(shù)做數(shù)據(jù)篩選的題,需要的朋友可以參考下

問(wèn)題描述:

結(jié)構(gòu):

test 有兩個(gè)字段,
分別是col1和col2,都是字符字段,
里面的內(nèi)容都是用,號(hào)分隔的三個(gè)數(shù)字,并且是一一對(duì)應(yīng)的,

比如col1內(nèi)容是:26,59,6
col2內(nèi)容是:1502.5,1690,2276.77
一一對(duì)應(yīng)就是26的值是1502.5,59是1690,6對(duì)應(yīng)2276.77

搜索條件:

選擇一個(gè)id,比如選擇59,再輸入一個(gè)數(shù)字,比如: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,2900,1520.77

搜索到這三個(gè)記錄存在id為59,之后判斷第二個(gè)搜索條件應(yīng)為(即用對(duì)應(yīng)id位置的數(shù)字對(duì)比):

1690<2000
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使用一個(gè)字符函數(shù)做數(shù)據(jù)篩選問(wèn)題的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。