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

 更新时间:2017年05月20日 14:29:42   投稿:mdxy-dxy  
这篇文章主要介绍了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数据库实现高可用架构之MHA的实战

    MySQL数据库实现高可用架构之MHA的实战

    本文主要介绍了MySQL数据库实现高可用架构之MHA的实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • DQL数据查询语句使用示例

    DQL数据查询语句使用示例

    DQL(Data Query Language 数据查询语言):用于查询数据库对象中所包含的数据。DQL语言主要的语句:SELECT语句。DQL语言是数据库语言中最核心、最重要的语句,也是使用频率最高的语句
    2022-12-12
  • MySQL中对于索引的基本增删查改操作总结

    MySQL中对于索引的基本增删查改操作总结

    这篇文章主要介绍了MySQL中对于索引的基本增删查改操作总结,索引可以提高MySQL的检索速度,需要的朋友可以参考下
    2016-01-01
  • C#如何在海量数据下的高效读取写入MySQL

    C#如何在海量数据下的高效读取写入MySQL

    这篇文章主要介绍了C#如何在海量数据下的高效读取写入MySQL的相关资料,需要的朋友可以参考下
    2016-12-12
  • MySQL5.7缺少my.ini文件的解决方法

    MySQL5.7缺少my.ini文件的解决方法

    my.ini是MySQL数据库中使用的配置文件,修改这个文件可以达到更新配置的目的。这篇文章主要介绍了MySQL5.7缺少my.ini文件的解决方法,需要的朋友可以参考下
    2018-03-03
  • MySQL数据库添加外键的四种方式

    MySQL数据库添加外键的四种方式

    这篇文章主要介绍了ysql数据库添加外键的四种方式, 建表时直接使用FOREIGN KEY,建表时使用CONSTRAINT,在建表以后使用ALTER语句以及 使用第三方工具这四种方式,需要的朋友可以参考下
    2024-03-03
  • 详解Mysql5.7自带的压力测试命令mysqlslap及使用语法

    详解Mysql5.7自带的压力测试命令mysqlslap及使用语法

    mysqlslap是一个诊断程序,旨在模拟MySQL服务器的客户端负载并报告每个阶段的时间。这篇文章主要介绍了Mysql5.7自带的压力测试命令mysqlslap的相关知识,需要的朋友可以参考下
    2019-10-10
  • MySQL中IO问题的深入分析与优化

    MySQL中IO问题的深入分析与优化

    据库作为存储系统,所有业务访问数据的操作都会转化为底层数据库系统的IO行为,下面这篇文章主要给大家介绍了关于MySQL中IO问题的深入分析与优化的相关资料,需要的朋友可以参考下
    2022-04-04
  • MySQL组合索引与最左匹配原则详解

    MySQL组合索引与最左匹配原则详解

    这篇文章主要给大家介绍了关于MySQL组合索引与最左匹配原则的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • MySQL主从原理及配置详解

    MySQL主从原理及配置详解

    这篇文章主要为大家详细介绍了MySQL主从原理及配置的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03

最新评论