mysql排序之ORDER BY IF、ORDER BY配合IN、TIMESTAMPDIFF、TIMESTAMPADD、FIELD
1、order by if 排序
SELECT * FROM pet ORDER BY if (species='snake',0,1),species;--species为snake的行数放置到了查询结果开头,再按照spercies排序;snake的这一行放在查询结果尾部用SELECT * FROM pet ORDER BY if(species='snake',0,1) DESC,species,默认是ASC,可以不写

2、order by配合in
SELECT * FROM pet ORDER BY birth IN('1993-02-04','1989-05-13'),birth;

3、TIMESTAMPDIFF计算两个日期的时间差函数
SELECT TIMESTAMPDIFF(SECOND,'2009-12-01 09:00:00','2009-12-01 09:00:50'); --FRAC_SECOND毫秒,SECOND秒,MINUTE分钟,HOUR小时,DAY天,WEEK星期,MONTH月,QUARTER季度,YEAR年

4、TIMESTAMPADD将时间差添加到日期时间表达式中
SELECT TIMESTAMPADD(SECOND,50,'2009-12-01 09:00:00');

5、FIELD可以用来对SQL中查询结果集进行指定顺序排序
order by (str,str1,str2,str3,str4……),str与str1,str2,str3,str4比较,其中str指的是字段名字,如果表中str字段值不存在于str1,str2,str3,str4中的记录,放在结果集最前面返回。

mysql排序之ORDER BY IF、ORDER BY配合IN、TIMESTAMPDIFF、TIMESTAMPADD、FIELD的更多相关文章
- mysql查询的时候没有加order by时的默认排序问题
有时候我们执行MySQL查询的时候,查询语句没有加order by,但是发现结果总是已经按照id排序好了的,难道MySQL就是为了好看给我们排序 如上图数据,是我查询了语句 SELECT * from ...
- 解决MySQL报错:1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'informat
解决MySQL报错:1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'informat ...
- R语言学习笔记(七): 排序函数:sort(), rank(), order()
sort() sort()函数直接对函数进行排序,并返回排序结果. > a <- c(12,4,6,5) > sort(a) [1] 4 5 6 12 rank() rank()函数 ...
- MySQL排序原理与MySQL5.6案例分析【转】
本文来自:http://www.cnblogs.com/cchust/p/5304594.html,其中对于自己觉得是重点的加了标记,方便自己查阅.更多详细的说明可以看沃趣科技的文章说明. 前言 ...
- Mysql 排序优化与索引使用(转)
为了优化SQL语句的排序性能,最好的情况是避免排序,合理利用索引是一个不错的方法.因为索引本身也是有序的,如果在需要排序的字段上面建立了合适的索引,那么就可以跳过排序的过程,提高SQL的查询速度.下面 ...
- order by优化--Order By实现原理分析和Filesort优化
在MySQL中的ORDER BY有两种排序实现方式: 1.利用有序索引获取有序数据 2.文件排序 在使用explain分析查询的时候,利用有序索引获取有序数据显示Using index.而文件排序显示 ...
- 8.2.1.15 ORDER BY Optimization ORDER BY 优化
8.2.1.15 ORDER BY Optimization ORDER BY 优化 在一些情况下, MySQL 可以使用一个索引来满足一个ORDER BY 子句不需要做额外的排序 index 可以用 ...
- MySQL 排序
MySQL 排序 我们知道从MySQL表中使用SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用MySQL的 ORDER BY 子句来设定你想按哪个字段哪中方式来 ...
- mysql排序(四)
MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段 ...
- 【转载并整理】mysql排序
由于oracle中有排序函数,可以使用over的语句方便排序,但是mysql中没有 这里碰到几个mysql的概念:用户变量.系统变量.if语句.函数GROUP_CONCAT 1. 可以使用定义变量(@ ...
随机推荐
- WSDL文档
portType 相当于一个类. operation 相当于该类里有一个方法名,方法名为processAPNManagement,该方法里有一个输入消息,一个输出消息,一个错误消息.
- excel VBA动态链接数据库
最近车间制造部有需求,需要通过excel填写的ID获取数据库中的某个取值.研究了一下VBA,简要记录一下代码,仅供参考. Function GETPMAX(SID As String) As Stri ...
- Oracle中connect by用法示例
在工作中常常会遇到一些数据表包含父子关系的数据,比如行业.地区等等,如果需要将其节点按父子关系一步一步列出来,就需要使用connect by了. 如有由自身行业代码basecode和父行业代码pare ...
- Java调用dll动态库
最近项目里使用java调用dll动态库,因此研究了一下这方面的东西. 使用的工具包如下 <dependency> <groupId>net.java.dev.jna</g ...
- JsTree 最详细教程及完整实例
JsTree是一个jquery的插件,它提交一个非常友好并且强大的交互性的树,并且是完全免费或开源的(MIT 许可).Jstree技持Html 或 json格式的的数据, 或者是ajax方式的动态请求 ...
- ace-editor线上代码编辑器
package.json { "name": "vue-cli", "version": "1.0.0", " ...
- javascript 之 数组
定义:var colors=new Array(); var colors=new Array(3); var colors=new Array('red'); var colors=['red',' ...
- [ZOJ 4024] Peak
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4024 从前往后找满足al<al+1的最大下标l,从后往前找 ...
- jmeter 学习笔记
beanshell内置对象 vars是针对单线程,使用${varName}访问var变量值 props是所有线程共享,使用${__P(propName,)}访问prop变量值 如何让variable在 ...
- vue ui 启动,浏览器报错Unexpected token <
可能的解决办法: 选择清空缓存并硬性重新加载页面. 如果不行,全局卸载@vue/cli,重新安装.