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. 可以使用定义变量(@ ...
随机推荐
- BIOS备忘录之SPI(fingerprint)设备
Reset和INT信号使用的是GPIO功能,需要显式的使用(INT信号使用了GPIO的int number,RST信号使用了GPIO的absolute number): 问题举例 漏电导致功能异常:在 ...
- js实现简易版validate
需求分析 项目中需要根据选择不同的类型,显示不同的表单,采用的方法是css隐藏显示不需要的表单,但是这个表单字段都是必填的,尝试把不同的表单放在不同的form里,提交时根据不同的类型调用miniui自 ...
- Axure无法签出,团队配合时无法导入项目
SVN管理项目,团队多人合作维护 在Axure签出时,报错. 提示:无法创建目录 ... 设备上没有空间 SVN也检出失败 当然,还有其他情况 如:未将对象引用设置到对象的实例.等等 个别提示如下图: ...
- 强杀apt-get install进程导致错误的修复办法
关闭了一个安装缓慢的apt-get install终端窗口,安装另一个软件,提示打不开var下的一个锁(没加sudo也是这个错误但会提示是非root用户权限不够导致,但这里不是这个问题),说是另一个进 ...
- Pormise
//Pormisefunction MyPromise (executor) { var self = this self.status = 'pending' self.resolveValue = ...
- Java基本语法(一)
1,Java中命名规则与规范 命名规则是我们必须遵守的约定: 1,Java中需要命名的地方(我们称之为标识符),可以26个英文字母(不区分大小写),0-9的数字,_和$等组成,不能包含特殊字符(#), ...
- yii 动态增加路由规则
使用 UrlManager类的addRules方法. 如 $url->addRules([ 'zzz/<id:\d+>' => '/test/hi', ]); 这个规则必须在开 ...
- 打包发布Python模块或程序,安装包
Python模块.扩展和应用程序可以按以下几种形式进行打包和发布: python setup.py获取帮助的方式 python setup.py --help python setup.py --he ...
- oracle 游标分析与理解(基础)
--------------坚持写一点 慢慢成长 希望对大家有所帮助(小白的理解) 也是自己学习后的理解(只是一小部分,需要更深沉的还需日后成长) 接下来就是我们的重点 --游标 提供了一种对从表中 ...
- [冷知识] 连字符-减号-横杠的区别 difference between hyphen-minus-dash
因为早期打印机等宽的原因, 连字符和减号都是 -, 叫做hyphen-minus ,对应Unicode: U+002D(ASCII也是). 现在减号可以是:U+2212, 但编程语言中还是习惯使用U+ ...