按最接近当前时间排序 mysql sql查询

sql按当前时间较近的进行排序 且 大于当前时间的优先排序

假设数据表:
id    domain            visit_time
1    blog.fity.cn    1570550400    #2019/10/9
2    fity.cn            1567958400    #2019/9/9
3    www.fity.cn        1562601600    #2019/7/9
假设今天是2019/8/6,希望排序顺序:
id    domain            visit_time
2    fity.cn            1567958400    #2019/9/9
1    blog.fity.cn    1570550400    #2019/10/9
3    www.fity.cn        1562601600    #2019/7/9

SQL:

select *,unix_timestamp(now())-visit_time as sort from www_fity_cn_visit order if(sort<0,1,0) desc,abs(sort)

优先根据新增的隐藏属性字段值(1,0)排序,然后根据计算值的绝对值排序,最终获得距离当前时间最近的 且 大于当前时间的数据优先排序

本文最后更新于 2019-12-03 12:09:00 并被添加「sql排序」标签,已有 3242 位童鞋阅读过。
本文作者:未来往事
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

相关文章

此处评论已关闭