2011-05-06 10 views
1

나는 색 이름 (예를 들어, 청록색)과 연관된 기본 색 (파란색)을 포함하는 테이블을 가지고 있습니다. 때로는 색상 항목이 연관된 기본 색상 (빨간색, 빨간색)과 같을 수 있습니다.MySQL GROUP BY 쿼리 질문

각 그룹의 COLOR이 알파벳 순서로되어있는 GROUP BY PRIMARY_COLOR은 어떻게 할 수 있습니까? COLOR 및 PRIMARY_COLOR가 일치하는 경우를 제외하고 -이 항목은 그룹 상단에 있어야합니다.

예 :

COLOR PRIMARY_COLOR 
------------------------ 
teal  blue 
magma red 
sky  blue 
red  red 
magenta red 

초래한다 ... Order by (ASSOCIATEDCOLOR = COLOR), ASSOCIATEDCOLOR

+1

COLOR PRIMARY_COLOR ------------------------ sky blue teal blue red red magenta red magma red 

답변

4

당신이에 의해 그룹을 필요로 확신? 나는 당신이 단지 주문을한다고 생각한다
+0

나는 그것이 조금 복잡하다고 생각한다. 잘 하셨어요 –

1
ORDER BY CASE WHEN COLOR=PRIMARY_COLOR THEN 0 ELSE 1 END, PRIMARY_COLOR 
0
SELECT color, primary_color 
FROM colors 
ORDER BY 
    primary_color, 
    color LIKE primary_color DESC, 
    color