ORDER BY 에서 조건걸기
ORDER BY 에서 조건걸기
예를 들어 컬럼에 값이 한국 미국 일본 중국 이렇게 있는상태에서 중국만 맨 앞으로 오도록 정렬히는 방법
order by if(nara='중국','가', nara) asc
재미나는 두가지 예제
1, 서울, 경기, 강원, 충남....순으로 정렬
$sqlstr = "select SIDO as SIDO1 from ZipCode group by SIDO order by
if(SIDO='서울', '10',
if(SIDO='경기', '09',
if(SIDO='강원', '30',
if(SIDO='충남', 'd',
if(SIDO='충북', 'e',
if(SIDO='전남', 'f',
if(SIDO='전북', 'g',
if(SIDO='경남', 'h',
if(SIDO='경북', 'i',
if(SIDO='제주', 'j',
if(SIDO='부산', 'k',
if(SIDO='대전', 'l',
if(SIDO='대구', 'm',
if(SIDO='광주', 'n',
if(SIDO='인천', 'o',
if(SIDO='울산', 'p', SIDO)))))))))))))))) asc";
2. 충청도, 전라도... 등으로 통합하여 나타내기.. 그런데 정렬이 안되네요.ㅠ.ㅠ
$sqlstr = "select
if(SIDO='충북', '충청',
if(SIDO='충남', '충청',
if(SIDO='전남', '전라',
if(SIDO='전북', '전라',
if(SIDO='경북', '경상',
if(SIDO='경남', '경상',
if(SIDO='부산', '경상',
if(SIDO='대전', '경상',
if(SIDO='대구', '경상', if(SIDO='광주', '전라',
if(SIDO='인천', '경기',
if(SIDO='울산', '경상', SIDO)))))))))))) as SIDO1
from ZipCode group by SIDO1 order by
if(SIDO='서울', 'a',
if(SIDO='경기', 'b',
if(SIDO='강원', 'c',
if(SIDO='충남', 'd',
if(SIDO='충북', 'e',
if(SIDO='전남', 'f',
if(SIDO='전북', 'g',
if(SIDO='경남', 'h',
if(SIDO='경북', 'i',
if(SIDO='제주', 'j',
if(SIDO='부산', 'k',
if(SIDO='대전', 'l',
if(SIDO='대구', 'm',
if(SIDO='광주', 'n',
if(SIDO='인천', 'o',
if(SIDO='울산', 'p', SIDO)))))))))))))))) asc";