MySQL关于字符串中数字排序的问题分析

 更新时间:2016年06月25日 09:43:40   作者:yiluoAK_47  
这篇文章主要介绍了MySQL关于字符串中数字排序的问题,结合实例形式分析了mysql按照数值排序的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了MySQL关于字符串中数字排序的问题。分享给大家供大家参考,具体如下:

MySQL字符串相信大家都不陌生,在MySQL字符串排序时经常会遇到一些问题,比如下面要介绍的这个

今天解决了一个关于MySQL字符串排序的很奇怪的问题,在数据里面定义的是varchar类型,实际存放的是Int类型的数据,按一下查询语句进行排序:
将字段*1或者+0可以将MySQL字符串字段按数值排序

如:

select * from table where 1 order by id*1 desc;

或者

select * from table where 1 order by id+0 desc;

除了上述方法外,这里附上一种排序方法,利用find_in_set()进行无敌排序

附上Mysql函数 find_in_set() 的用法:

FIND_IN_SET(str,strlist)

Returns a value 如果字符串 str 在由 N 个子串组成的列表 strlist 中,返回一个 1 到 N 的值。一个字符串列表是由通过字符 “,” 分隔的多个子串组成。如果第一个参数是一个常数字符串,并且第二个参数是一个 SET 列类型,FIND_IN_SET() 函数将被优化为使用位运算!如果 str 在不 strlist 中或者如果 strlist 是一个空串,返回值为 0。如果任何一个参数为 NULL,返回值也是 NULL。如果第一个参数包含一个 “,”,这个函数将完全不能工作:

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2

for example:

复制代码 代码如下:
$sql = "select p.*, find_in_set(p.products_id,$string_hot_pid) as rank from products p where p.products_id in ($string_hot_pid) order by rank";

大家有什么好的想法和建议可以留下宝贵的意见 以便共同进步

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总

希望本文所述对大家MySQL数据库计有所帮助。

相关文章

  • Mysql中一千万条数据怎么快速查询

    Mysql中一千万条数据怎么快速查询

    很多人在使用Mysql时没有考虑到优化问题,如果遇到上千万数据量的表,查询上千万数据量的时候会发生什么问题,本文就来介绍一下如何快速查询一千万条数据,感兴趣的可以了解一下
    2021-12-12
  • MySql修改数据库编码为UTF8避免造成乱码问题

    MySql修改数据库编码为UTF8避免造成乱码问题

    mysql 创建数据库时指定编码很重要,很多开发者都使用了默认编码,乱码问题可是防不胜防,下面与大家分享下通过修改数据库默认编码方式为UTF8来减少数据库创建时的设置,避免因粗心造成的乱码问题
    2013-06-06
  • 新手学习MySQL索引

    新手学习MySQL索引

    如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有索引的MySQL就是一个人力三轮车。通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢,下面小编来带大家了解下索引
    2019-05-05
  • 详解数据库语言中的null值

    详解数据库语言中的null值

    这篇文章主要详解了数据库语言中的null值,针对MySQL上的实例进行讲解,需要的朋友可以参考下
    2015-04-04
  • MySQL如何导入csv格式数据文件解决方案

    MySQL如何导入csv格式数据文件解决方案

    本文将详细介绍MySQL如何导入csv格式数据文件并提供详细解决方案,需要了解的朋友可以参考下
    2012-11-11
  • 详解MySQL8.0原子DDL语法

    详解MySQL8.0原子DDL语法

    这篇文章主要介绍了详解MySQL8.0原子DDL语法的相关资料,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • mysql count 为null时,显示0的问题

    mysql count 为null时,显示0的问题

    这篇文章主要介绍了mysql count 为null时,显示0的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • mysql 5.7.5 m15 winx64.zip安装教程

    mysql 5.7.5 m15 winx64.zip安装教程

    这篇文章主要为大家详细介绍了mysql 5.7.5 m15 winx64.zip安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • mysql类似oracle rownum写法实例详解

    mysql类似oracle rownum写法实例详解

    在本篇文章里小编给大家分享的是关于mysql类似oracle rownum写法以及相关实例内容,需要的朋友们可以学习下。
    2019-09-09
  • mysql中drop、truncate与delete的区别详析

    mysql中drop、truncate与delete的区别详析

    对于drop、truncate和delete虽然简单,但是真要使用或者面试时候问到还是需要有一定的总结,下面这篇文章主要给大家介绍了关于mysql中drop、truncate与delete区别的相关资料,需要的朋友可以参考下
    2022-03-03

最新评论