2013-10-23 4 views
0

mysql 데이터베이스에서 일부 레코드를 가져 와서 특별한 순서로 정렬해야합니다. 일부 레코드에는 특수 문자열이 있고 일부 레코드에는 특수 문자가 필요하지 않습니다. 나는이 특별한 끈을 가지고 있지 않은 자들을 가지고 있어야한다.문자열에 의한 정렬은 mysql에 존재합니다.

SELECT * FROM mutable ORDER BY col_name, "special string not exists" 

같은 MySQL을 사용하는 방법이 아니면 내가 t 순서없이 기록을받은 후 PHP에서 그것을 오도해야합니까?

+0

몇 가지 샘플 데이터를 제공해주십시오. –

+3

http://stackoverflow.com/questions/14104055/ordering-by-specific-field-value-first –

+0

@pindol UNION을 참조하십시오. – Strawberry

답변

1

디코딩을 사용하면 한 값을 다른 값으로 변환 할 수 있습니다.

SELECT * FROM mutable ORDER BY col_name, decode(column_with_sepcial_string, "special string", 1, 0) 

특수한 캐릭터가 얻을 수있는 사람을 1 값으로,하지 않는 사람들 0 (null 값 항상 null 다시 얻을 수 있습니다 않습니다). 0과 1을 오름차순으로 주문하면 0 (특수 문자열이없는 사용자)이 1 (특수 문자열 사용)보다 위에 있습니다.