• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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,即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

    搜索到这三个记录存在id为59,之后判断第二个搜索条件应为(即用对应id位置的数字对比):

    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 |

    +---------+---------------------+

    上一篇:MySQL之递归小问题
    下一篇:ubuntu系统中Mysql ERROR 1045 (28000): Access denied for user root@ localhost问题的解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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