mysql通过find_in_set()函数实现where in()顺序排序
本文章来为各位介绍一篇关于mysql 实现按 where in () 中的顺序排序,用find_in_set() 函数的教程,希望此教程能够对各位有所帮助。
select * from table where id in ('783',' 769',' 814',' 1577',' 1769') order by find_in_set( id, '783, 769, 814, 1577, 1769' )
查出来:
769 1577 814 1769 783
为什么不是 783 769 814 1577 1769 的顺序?
注意:经查找后原因出在find_in_set里面,如果find_in_set的第二个参数中有空格将导致顺序乱掉,因为mysql查询之前不会给你trim空格符。
so...
去空格后:
select * from table where id in ('783',' 769',' 814',' 1577',' 1769') order by find_in_set( id, '783,769,814,1577,1769' )
注意只是去掉了
'783,769,814,1577,1769' 中的空格
再查出来: 783 769 814 1577 1769
至此我们实现用where in find_in_set 的排序,find_in_set 还可实现多条件排序 试试哦
总结
以上就是本文关于mysql通过find_in_set()函数实现where in()顺序排序的全部介绍,感兴趣的朋友可以参阅:MySQL数据库表分区注意事项大全【推荐】、几个比较重要的MySQL变量、sql和MySQL的语句执行顺序分析等,若有不足之处,欢迎大家留言指正。希望对大家有所帮助。
相关推荐
-
Mysql中的find_in_set的使用方法介绍
使用举例: 用户表(user)中的一个字段(purview)代表该用户的权限 将用户的所有权限id存入此字段.比如有:1,2,3,4,5这样的五个权限 查找哪些用户拥有权限id为1的权限 复制代码 代码如下: select * from user where find_in_set('1',purview); sql语句 sql解释:查出所有拥有1这个权限的所有用户的信息. 这样设计数据表的目的是减少表的数量,但是会增加更新的难度!
-
Mysql中FIND_IN_SET()和IN区别简析
前段时间项目中使用到Mysql的FIND_IN_SET函数,感觉挺好用的.过一段时间,老大找到我说,这个需要改为IN,哈哈,只能改了,原因会在下面分析到! 弄个测试表来说说两者的区别,测试数据直接在问答区copy一份,能说明问题就行,哈哈,如果侵犯您的版权还请见谅,互联网吗,就需要分享! 测试代码: CREATE TABLE `test` ( `id` int(8) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `list` var
-
MySQL的FIND_IN_SET函数使用方法分享
很多时候我们在设计数据库时有这种情况,比如: 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 现在有篇文章他既是 头条,又是热点,还是图文, type中以 1,3,4的格式存储. 那们我们如何用sql查找所有type中有4图文标准的文章呢, 这就要我们的find_in_set出马的时候到了. 先看mysql手册中find_in_set函数的语法: FIND_IN_SET(str,strlist) 假如字符串str 在由N 子
-
mysql通过find_in_set()函数实现where in()顺序排序
本文章来为各位介绍一篇关于mysql 实现按 where in () 中的顺序排序,用find_in_set() 函数的教程,希望此教程能够对各位有所帮助. select * from table where id in ('783',' 769',' 814',' 1577',' 1769') order by find_in_set( id, '783, 769, 814, 1577, 1769' ) 查出来: 769 1577 814 1769 783 为什么不是 783 769 814
-
mysql中find_in_set()函数的使用及in()用法详解
MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) str 要查询的字符串 strlist 字段名 参数以","分隔 如 (1,2,6,8,10,22) 查询字段(strlist)中包含(str)的结果,返回结果为null或记录 假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间. 一个字符串列表就是一个由一些被 ',' 符号分开的子链组成的字符串.如果第一个参数是一个常数字符串,而第
-
mysql中find_in_set()函数的使用详解
首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 . 现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4的图文类型的文章呢?? 这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: select * from article where FIND_IN_SET('4',type) --------------------------------
-
mysql中find_in_set函数的基本使用方法
前言 这是我最近新接触到的一个函数, 我在项目中的使用场景是这样的: 有一个应用类型表,表中有parentId字段和parentIds字段,前者为父级id,后者为多级父级id,在库中都是varchar类型,parentIds由多个父级id拼接而成由","分隔. 组长告知我可以使用该函数,就去进行了了解与使用. 语法 FIND_IN_SET(str,strlist) 定义 假如字符串str在由多个子链组成的字符串列表strlist中,则返回值的范围在1到N之间. 一个字符串列表就是一个由
-
MySQL的字符串函数使用说明
通常以串的整体作为操作对象,如:在串中查找某个子串.求取一个子串.在串的某个位置上插入一个子串以及删除一个子串等.两个字符串相等的充要 条件是:长度相等,并且各个对应位置上的字符都相等.设p.q是两个串,求q在p中首次出现的位置的运算叫做模式匹配.串的两种最基本的存储方式是顺序存 储方式和链接存储方式. 下面我们来看看MySQL中的字符串函数 假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL. 对于在字符串位置操作的函数,第一个位置的编
-
MySQL中字符串函数详细介绍
符串或串(String)是由零个或多个字符组成的有限序列.一般记为 s='a1a2•••an'(n>=0).它是编程语言中表示文本的数据类型. 通常以串的整体作为操作对象,如:在串中查找某个子串.求取一个子串.在串的某个位置上插入一个子串以及删除一个子串等.两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等.设p.q是两个串,求q在p中首次出现的位置的运算叫做模式匹配.串的两种最基本的存储方式是顺序存储方式和链接存储方式. 下面我们来看看MySQL中的字符串函数 假如结果的长度
-
mysql查找字符串函数的使用
目录 mysql查找字符串函数 一.根据字符串找位置 二.根据位置找字符串 mysql常用十种字符串函数 1.CONCAT() MySQL字符串函数 2.LOWER() 3.UPPER() 4.LENGTH() 5.SUBSTRING() 6.TRIM() 7.LPAD()/RPAD() 8.INSTR() 9.REPLACE() 10.REVERSE() mysql查找字符串函数 一.根据字符串找位置 find_in_set 第二个参数是以逗号隔开的,从第二个参数集合中查找第一个参数的位置 m
-
MySQL通过自定义函数实现递归查询父级ID或者子级ID
背 景: 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度, 那么所有节点为根的树的深度均不会超过树的最大深度,则我们可以直接通过left join来实现. 但很多时候我们是无法控制或者是知道树的深度的.这时就需要在MySQL中用存储过程(函数)来实现或者在程序中使用递归来实现.本文讨论在MySQL中使用函数来实现的方法: 一.环境准备 1.建表 CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMEN
随机推荐
- js解析与序列化json数据(二)序列化探讨
- XMLHTTPRequest的属性和方法简介
- C# 正则表达式 使用介绍
- Android自定义AvatarImageView实现头像显示效果
- iOS动画实现雨花与樱花特效
- vs2010无法打开项目文件的原因分析及解决方法
- xmlplus组件设计系列之选项卡(Tabbar)(5)
- PHP base64+gzinflate压缩编码和解码代码
- php+xml编程之xpath的应用实例
- IIS+PHP+MySQL+Zend配置 (视频教程)
- Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
- JavaScript中使用Object.prototype.toString判断是否为数组
- jQuery实现流动虚线框的方法
- jQuery通用的全局遍历方法$.each()用法实例
- 基于jquery的禁用右键、文本选择功能、复制按键的实现代码
- 微信小程序 教程之wxapp视图容器 swiper
- 原来可以正常使用,现在一自检就提示:未指定的错误
- Kotlin基础教程之函数定义与变量声明
- javascript iframe中打开文件,并检测iframe存在否
- iOS 对NSMutableArray进行排序和过滤的实例