2017-01-21 1 views
3

경우 루프를 작성하는 더 효율적인 방법이 있는지 알고 싶습니다. 나는 그것에 대해 어떻게 갈 수없는 경우MySql 배열 순서가 배열

WHEN cat_id = 24 THEN -1 
WHEN cat_id = 26 THEN -1 

WHEN cat_id = IN(24,26) THEN -1 

될 수 있다면

$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"; 

내가 궁금해? 어떤 종류의 루프를 만들어야합니까? for? 이 두 값의 경우

답변

4

당신은 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 
을 사용할 수 있습니다