我准備設計一個供求信息的表格,里邊包含序號(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