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

时间:2021-10-21 02:49:01

我准备设计一个供求信息的表格,里边包含序号(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