search

Home  >  Q&A  >  body text

php - 关于发布时间和更新时间的排序SQL语句,怎么写

有两个排序字段,
更新时间: upTime
发布时间: addTime

文章发布后会有它的发布时间,如果修改文章会保存一个修改时间。
在首页取数据,跟据如下规则排序:
1、有更新时间的文章使用upTime,只有发布时间的使用addTime,进行除序排列

//这样取出的数据是不合要求的
select * from table order by upTime desc, addTime desc    
阿神阿神2899 days ago626

reply all(3)I'll reply

  • 迷茫

    迷茫2017-04-10 14:53:28

    select * from table order by order by case when upTime is null then addTime desc else upTime desc end

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:53:28

    大概你的思路有点问题?反正我看的是晕乎乎的。
    文章第一次发布的时候,同时给定addTimeupTime不就好了么?取数据的话只要用upTime进行排序就好了,因为不存在没有upTime的情况啦,没有upTime的情况下upTime就等于addTime啦。

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:53:28

    没有更新过的让upTime = addTime

    不能容忍的话加一个用于排序的字段

    reply
    0
  • Cancelreply