MYSQL使用一个字符函数做数据筛选问题
程序员文章站
2022-05-16 18:22:10
...
这篇文章主要介绍了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,2900,1520.77
搜索到这三个记录存在id为59,之后判断第二个搜索条件应为(即用对应id位置的数字对比):
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使用一个字符函数做数据筛选问题的详细内容,更多请关注其它相关文章!
下一篇: PHP 5.4语法改进与弃用特性
推荐阅读
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
-
MYSQL 一个巧用字符函数做数据筛选的题
-
3.mysql的中文问题,database级操作,表级操作,数据CRUD,分组操作,时间和日期,字符串相关函数,表的约束_MySQL
-
使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
-
低版本MySql使用GROUP_CONCAT函数连接int型数据问题
-
MySQl数据库字符串替换函数使用_MySQL
-
关于一个做mysql数据库主从配置的问题
-
微信 - php+mysql问题.怎么判断一个字符串符合数据表中的哪条正则表达式值得数据?
-
关于一个做mysql数据库主从配置的问题