Heim >Backend-Entwicklung >PHP-Tutorial >关于发布时间和更新时间的排序SQL语句,怎么写

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

WBOY
WBOYOriginal
2016-06-06 20:44:421285Durchsuche

有两个排序字段,
更新时间: 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

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

没有更新过的让upTime = addTime

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn