mysql order by怎样多个时间字段排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql order by怎样多个时间字段排序相关的知识,希望对你有一定的参考价值。

置顶时间字段:toptime
修改时间字段:eidttime

先按照置顶时间的最大的,然后在按照修改时间最大的排序
目前我用的这个方法,但貌似都是置顶时间的 ORDER BY toptime DESC, eidttime DESC

参考技术A 直接将两个字段都加入order by中即可:
order by toptime desc, eidttime desc;追问

之前我是这样操作的,但貌似不行,所以才来提问

追答

order by 命令是先按照 toptime排序 如果toptime相同 则按照eidttime排序 你的排序要求是什么??

追问

哦这样啊
我的排序要求是,用户选择置顶后将大于当前系统时间,先取出这个置顶的,然后其他的在按照修改时间排序

追答

没太看懂你的意思 “用户选择置顶后将大于当前系统时间”这句话不懂

是这个样子的么?
select column_name from table_name where toptime > to_char(sysdate,'yyyymmddhh24miss')
order by eidttime desc;
就是将toptime大于当前系统时间的记录查出来之后按照eidttime字段排序??

本回答被提问者和网友采纳
参考技术B 楼主写的没问题

mysql order by无效问题

参考技术A 1,发现mysql查询时,某个字段order by排序比较乱,并不是按照我写的sql排序方式
2,事实是按照第一位数字排序,如下图所示:

3,查看val字段类型,发现val是varchar类型的。虽然值是数字,但mysql排序是按照设置的字段类型来排序的,varchar就会自动按照字符串第一位排序。
4,解决办法:1,把字段类型修改为int。2,或者在使用sql查询的时候,使用cast(val as UNSIGNED INTEGER)来转换一下类型。

以上是关于mysql order by怎样多个时间字段排序的主要内容,如果未能解决你的问题,请参考以下文章

mysql ordery by 默认是如何进行排序的呢

mysql order by 多个字段

mysql order by无效问题

Mysql多字段order by用法

mysql:group by,order by

sql ORDER BY 多个字段,排序变慢几十倍,求解?