如何让mysql按照两个或多个字段排序

Posted njm-f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让mysql按照两个或多个字段排序相关的知识,希望对你有一定的参考价值。

我准备设计一个供求信息的表格,里边包含序号(id)(自动增量),发布日期(time),上次更新(last_time)。因为考虑到避免有人不停的重复发布信息来占据前列位置所以设置了last_time这个字段,用户发布信息时lsat_time值与time值相同,更新(记录提前)后last_time取值为当日的日期。

排序:
我想先将记录先按照last_time由大到小排序,在last_time值相同的条件下按照id值由大到小排列,以保证晚发布的信息有优先的露面的机会,请问这个sql语句应该如何写?

还有,我感觉这种算法还是有一些缺点,请问高人能不能告诉我更好的算法?

 

 

答:

  错误方式:order   by   last_time   and   id   desc 这种方式两个字段都是降序的  (and隔开哪个,第二个参数不起作用。)

 

  正确方式: order by last_time desc,id desc

以上是关于如何让mysql按照两个或多个字段排序的主要内容,如果未能解决你的问题,请参考以下文章

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

mysql 查询时 按照某个字段计算后的值 排序?

SQL中的group by为啥是按照分组的第二个字段排序的呢?

21《MySQL 教程》ORDER BY 排序

java如何让list按照list里面的某个字段排序,list里面的有很多字段!

SQL 如何根据两个字段排序