case when 自定义排序时的使用
CASE
WHEN t2.status = 4
AND t2.expire_time>UNIX_TIMESTAMP()
AND t2.expire_time<UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL 60 DAY)) THEN 4
WHEN `status` = 2 THEN 3
WHEN `status` = 3 THEN 2
WHEN t2.status = 4
AND t2.expire_time>UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL 60 DAY))
AND t2.expire_time<UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL 1 YEAR)) THEN 1
ELSE 0
END sort
$query->orderBy('sort desc ,t2.expire_time desc,t2.created_at desc');
当colume 与condition 条件相等时结果为result
case colume
when condition then result
when condition then result
when condition then result
else result
end
当满足某一条件时,执行某一result
case
when condition then result
when condition then result
when condition then result
else result
end