2017-02-09 1 views
0

나는 간단한 질문이있다. 여러 쿼리에 참여해야하며 대부분의 쿼리에 광고가 있습니다. 유감스럽게도 MySQL은 UNION (모든 유니온 외부에서만)에서 ORDER BY를 허용하지 않지만 외부 주문을 통해 얻을 수없는 특정 주문이 필요합니다.Mysql - 주문 IN Clausole

질문은 다음과 같습니다 만약 내가 같은 IN의 clausole

foo in ('newyork','boston','atlanta') 

내가 MySQL을의 엔진이 다음 IN 위치 (foo는 = 'newyork의'너무 먼저 모든 행에 의한 결과 행을 주문할 것으로 가정 할 수있다 ' 보스턴 '등 ...

감사합니다. 그것은. 명시 적 조항에 의해 주문을 추가해야합니다.

요 만약 그런 아무것도

답변

2

번호 당신의 행을 세트의 위치에 따라 주문하고 싶다면 field 기능을 사용할 수 있습니다.

order by field(foo,'newyork','boston','atlanta') 
+0

감사합니다. 유감스럽게도 분야별 주문은 연합 내에서 사용할 수 없지만 좋은 해결책입니다. 외부에서 쿼리를 프로그램 코드로 병합합니다. – MrMime

1
Select * 
from 
(
    Select * from Temp1 
    order by x 
) Tbl1 
UNION 
Select * 
from 
(
    Select * from Temp2 
    order by y 
) Tbl2 

이보십시오.