文档编辑软件哪个好MySQL字符串中数字排序的问题
mysql语句分类MySQL字符串相信⼤家都不陌⽣,在MySQL字符串排序时经常会遇到⼀些问题,⽐如下⾯的这
今天解决了⼀个关于MySQL字符串排序的很奇怪的问题,在数据⾥⾯定义的是varchar类型,实际存放的是Int类型的数据,按⼀下查询语句进⾏排序:
将字段*1或者+0可以将MySQL字符串字段按数值排序
如:php加密原理
select * from table where 1 order by id*1 desc;
或者
霹雳布袋戏在线播放免费观看全集select * from table where 1 order by id+0 desc;
除了上述⽅法外,这⾥附上⼀种排序⽅法,利⽤find_in_set()进⾏⽆敌排序
前端html和css有什么框架附上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";
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论