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)排序,然后根据计算值的绝对值排序,最终获得距离当前时间最近的 且 大于当前时间的数据优先排序