mysql order by 自定义

 1 TIMESTAMPDIFF
 2
 3 语法:
 4
 5 TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
 6
 7 说明:
 8
 9 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:
10
11 FRAC_SECOND。表示间隔是毫秒
12 SECOND。秒
13 MINUTE。分钟
14 HOUR。小时
15 DAY。天
16 WEEK。星期
17 MONTH。月
18 QUARTER。季度
19 YEAR。年
20 //距离当前时间大于3天升序21 sql:
22 SELECT
23     TIMESTAMPDIFF(DAY, time, NOW())
24 FROM
25     table
26 ORDER BY
27     (
28         CASE
29         WHEN TIMESTAMPDIFF(DAY, time, NOW()) > 3 THEN
30             ASC
31         ELSE
32             DESC
33         END
34     )

 35TIMESTAMPADD

 36语法:

 37TIMESTAMPADD(interval,int_expr,datetime_expr)

 38

 39说明:

 40将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。

时间: 2024-11-07 11:21:22

mysql order by 自定义的相关文章

mysql order by 排序的问题

参考博客http://blog.csdn.net/hollboy/article/details/13296601 mysql order by 的排序在今天时候遇到了问题 情景是:将排序的字段设置成varchar类型了,然后排序时候并没有按从大到小的顺序 按照图中的顺序应该是正序,9排在最上边,但是实际上是666排在最上边 解决办法之一 实际情况是先按最左边的开始排序然后在一位一位比下去,这里在写sql时候的解决办法可以是加0,或者前面加上--也可以哦 解决办法之二 将字段类型换成int类型看

MySQL学习笔记-自定义函数

MySQL学习笔记-自定义函数 1.自定义函数简介 自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同 自定义函数的两个必要条件:(1)参数  (2)返回值 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 关于函数体: 1.函数体可以由合法的SQL语句构成: 2.函数体可以是

MySQL Order By Rand()效率【转载】

最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描.但是在MYSQL 3.23版本中,仍然可以通过ORDER BY RAND()来实现随机. 但是真正测试一下

MySQL学习笔记—自定义函数

MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格.tab.换行符等等).该语法与标准SQL注释语法稍有不同. 从/序列到后面的/序列.结束序列不一定在同一行中,因此该语法允许注释跨越多行. 下面的例子显示了3种风格的注释: mysql> SELECT 1+1; # This comment continues to the end of li

MYSQL随机抽取查询 MySQL Order By Rand()效率问题

MYSQL随机抽取查询:MySQL Order By Rand()效率问题一直是开发人员的常见问题,俺们不是DBA,没有那么牛B,所只能慢慢研究咯,最近由于项目问题,需要大概研究了一下MYSQL的随机抽取实现方法 要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND

mysql order by多字段排序

mysql order by多字段排序,在同一表中必须按字段顺序,否则以最后一字段的排序为准,其他无效. 如:ORDER BY `user`.`state` DESC , `user`.`order_by` ASC state字段在order_by字段前面

Mysql Order By 字符串排序,mysql 字符串order by

Mysql Order By 字符串排序,mysql 字符串order by ============================== ?Copyright 蕃薯耀 2017年9月30日 http://fanshuyao.iteye.com/ 一.问题描述: Mysql排序时如果用的的字段为字符串型的,排序规则是这样的:如1,10,2,20,3,4,5,这种排序是按照字符从第一个字符开始比较出来的,但不是我想要的,我想要的是:1,2,3,4,5--,10,20这种. 二.解决方案 排序时,把

Python MySQL Order By

章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python MySQL Where Python MySQL Order By Python MySQL Delete Python MySQL 删除表 Python MySQL Update Python MySQL Limit Python MySQL Join 对结果排序 可以使用ORDER BY语句,按升

MySQL巧用自定义函数进行查询优化

用户自定义变量是一个很容易被遗忘的MySQL特性,但是用的好,发挥其潜力,在很多场景都可以写出非常高效的查询语句. 一. 实现一个按照actorid排序的列 1 mysql> set @rownum :=0; 2 Query OK, 0 rows affected (0.00 sec) 3 4 mysql> select actor_id ,@rownum :=@rownum + 1 as rownum 5 -> from sakila.actor limit 3; 6 +-------