Heim >Backend-Entwicklung >PHP-Tutorial >关于发布时间和更新时间的排序SQL语句,怎么写
有两个排序字段,
更新时间: upTime
发布时间: addTime
文章发布后会有它的发布时间,如果修改文章会保存一个修改时间。
在首页取数据,跟据如下规则排序:
1、有更新时间的文章使用upTime,只有发布时间的使用addTime,进行除序排列
<code>//这样取出的数据是不合要求的 select * from table order by upTime desc, addTime desc </code>
有两个排序字段,
更新时间: upTime
发布时间: addTime
文章发布后会有它的发布时间,如果修改文章会保存一个修改时间。
在首页取数据,跟据如下规则排序:
1、有更新时间的文章使用upTime,只有发布时间的使用addTime,进行除序排列
<code>//这样取出的数据是不合要求的 select * from table order by upTime desc, addTime desc </code>
select * from table order by order by case when upTime is null then addTime desc else upTime desc end
大概你的思路有点问题?反正我看的是晕乎乎的。
文章第一次发布的时候,同时给定addTime
和upTime
不就好了么?取数据的话只要用upTime
进行排序就好了,因为不存在没有upTime
的情况啦,没有upTime
的情况下upTime
就等于addTime
啦。
没有更新过的让upTime = addTime
不能容忍的话加一个用于排序的字段