服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - MYSQL 一个巧用字符函数做数据筛选的题

MYSQL 一个巧用字符函数做数据筛选的题

2020-07-29 17:13MYSQL教程网 Mysql

这篇文章主要介绍了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

?
1
2
3
4
5
6
7
8
9
10
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关于MySql链接url参数的设置

    关于MySql链接url参数的设置

    最近整理了一下网上关于MySql 链接url 参数的设置以及常用的几个较为重要的参数,大家若感兴趣可以参考下 ...

    MYSQL教程网1732020-03-20
  • MysqlMac下安装mysql5.7.18的详细步骤

    Mac下安装mysql5.7.18的详细步骤

    这篇文章主要为大家详细介绍了]Mac下安装mysql5.7.18的详细步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    水谷2722020-07-28
  • Mysqlmysql数据库插入速度和读取速度的调整记录

    mysql数据库插入速度和读取速度的调整记录

    由于项目变态需求;需要在一个比较短时间段急剧增加数据库记录(两三天内,由于0增加至4亿)。在整个过程调优过程非常艰辛 ...

    MYSQL教程网3152019-12-06
  • MysqlMySql事务无法回滚的原因有哪些

    MySql事务无法回滚的原因有哪些

    使用MySQL时,如果发现事务无法回滚,但Hibernate、Spring、JDBC等配置又没有明显问题,到底是什么原因,下面与大家分享下 ...

    whsnow1482020-04-15
  • MysqlMySQL的Query Cache原理分析

    MySQL的Query Cache原理分析

    QueryCache(下面简称QC)是根据SQL语句来cache的。一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC。每个Cache都是以SQL文本作为key来存的。 ...

    mysql教程网4922019-10-23
  • MysqlMysql获取当前日期的前几天日期的方法

    Mysql获取当前日期的前几天日期的方法

    这篇文章主要介绍了Mysql获取当前日期的前几天日期的方法,本文直接给出实现代码,需要的朋友可以参考下 ...

    MYSQL之家1412020-04-30
  • Mysqlmysql 登录时闪退的问题解决方法

    mysql 登录时闪退的问题解决方法

    这篇文章主要介绍了mysql 登录时闪退的问题解决方法的相关资料,mysql 出现闪退问题,很是棘手在做项目的时候,这里对解决这样的问题提供了解决方案,需...

    mysql教程网1822020-07-01
  • Mysqlmysql 单机数据库优化的一些实践

    mysql 单机数据库优化的一些实践

    这篇文章主要介绍了mysql 单机数据库优化的一些实践的相关资料,需要的朋友可以参考下...

    吴极心2982020-06-23