問題描述:
結(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,即16902000
舉例:
如有以下三條記錄,搜索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ì)比):
16902000
3502.1>2000
1520.772000
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 |
+---------+---------------------+
標(biāo)簽:宿州 林芝 咸寧 汕頭 朔州 三明 內(nèi)江 AXB
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MYSQL 一個(gè)巧用字符函數(shù)做數(shù)據(jù)篩選的題》,本文關(guān)鍵詞 MYSQL,一個(gè),巧用,字符,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。