我想知道是否有更有效的方法来写循环的案例。
$search = "ORDER BY CASE WHEN created_by = :created_by THEN -1
WHEN cat_id = 24 THEN -1
WHEN cat_id = 26 THEN -1
ELSE created_at END LIMIT :limit, :perpage";
我想知道
WHEN cat_id = 24 THEN -1
WHEN cat_id = 26 THEN -1
可以是
WHEN cat_id = IN(24,26) THEN -1
如果不是,我该怎么办?我需要做某种循环吗?
最佳答案
如果只有两个值,则可以使用OR
运算符,例如:
WHEN (cat_id = 24 or cat_id = 26) THEN -1
如果需要与多个值进行比较,但它们不是顺序的,则可以使用
IN
运算符,例如。WHEN (cat_id IN (24, 26)) THEN -1
如果值在范围内,则可以使用
BETWEEN
,例如:WHEN (cat_id BETWEEN 21 and 30) THEN -1