欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-27 19:57:19
...
有两个排序字段,
更新时间: upTime
发布时间: addTime

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

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

回复内容:

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

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

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

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

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

没有更新过的让upTime = addTime

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

相关标签: sql mysql php