如何讓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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM