thinkphp实现mysql查询接近过期的排在上面

      发布在:个人笔记      评论:0 条评论

thinkphp实现mysql查询接近过期的排在上面,依此类推:

 $list = $this->model->field($field)->alias('o')
               ->join("{$prefix}product_type t",'o.product_type_id = t.id')->where('o.product_type_id',9)->where('o.gskc','=',0)->where('o.status','=',1)
//                ->order('o.create_time desc')
//                    重点使用DATEDIFF
               ->orderRaw('DATEDIFF(FROM_UNIXTIME(o.classes_endtime), NOW()) ASC')
               ->paginate(['list_rows'=>$pageSize,'page'=>$page])
               ->toArray();

DATEDIFF() 函数返回两个日期之间的天数。

如果需要精确到秒级别可以使用timestampdiff

Select timestampdiff(SECONDS, '2023-09-20 12:30:15', '2023-09-01 10:15:00') as Difference;

第一个参数是差值单位可以是:

FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR.


阿里云服务器1核/2G/1M(88元/1年) 【腾讯云】云产品限时秒杀,爆款2核4G云服务器首年74元 腾讯云服务器老用户专享(每日限量,下手要快) 香港高稳定云服务器推荐(优惠码:haixiuge)
相关文章
热门推荐