여러필드를 한번에 정렬할수 있을까요?
본문
공부시작한지 1주일된 초짜입니다.
여러필드를 정렬하고싶은데 안되서 도움 요청드립니다.
$wr_7 = explode("|", $row[wr_7]);
$a0=$wr_7[0]; //몸무게
$a1=$wr_7[1]; //키
$a2=$wr_7[2]; //혈액형
$wr_8 = explode("|", $row[wr_8]);
$a01=$wr_8[0]; //몸무게
$a11=$wr_8[1]; //키
$a21=$wr_8[2];
$wr_9 = explode("|", $row[wr_9]);
$a02=$wr_9[0]; //몸무게
$a12=$wr_9[1]; //키
$a22=$wr_9[2]; //혈액형
$wr_10 = explode("|", $row[wr_10]);
$a03=$wr_10[0]; //몸무게
$a13=$wr_10[1]; //키
$a23=$wr_10[2]; //혈액형
카테고리= 학생
DB내용
-------------------------------------------------------
wr_6 wr_7 wr_8 wr_9 wr_10
--------------------------------------------------------
1반 63|155|A 62|158|O 44|150|A 64|170|B
--------------------------------------------------------
2반 70|160|O 78|173|A 56|168|A 60|165|A
--------------------------------------------------------
3반 54|158|B 74|174|B 46|168|B 59|160|A
-------------------------------------------------------
일때 몸무게로 정렬하려고 하면
$sql = "select * from $write_table where ca_name = '학생' order by ......";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
order by 에 뭘 써도
결과는
몸무게 키 혈액형 반구분
44 150 A 1반
62 158 O 1반
63 155 A 1반
64 170 B 1반
56 168 A 2반
60 165 A 2반
70 160 O 2반
78 173 A 2반
46 168 B 3반
54 158 B 3반
59 160 A 3반
74 174 B 3반
이렇게 반별로 몸무게 정렬만되고
전체적으로는 안됩니다.
하고자하는 정렬은 몸무게별
몸무게 키 혈액형 반구분
44 150 A 1반
46 168 B 2반
54 158 B 1반
56 168 A 2반
59 160 O 3반
60 165 A 2반
62 158 O 1반
63 155 A 1반
64 170 B 1반
70 160 O 2반
74 174 B 3반
78 173 A 2반
입니다.
가능할까요? 가르쳐주시면 감사하겠습니다.
답변 1
잘라서 쓰면 되는데 DB 성능상 추천드리지는 않습니다.
order by SUBSTR(wr_7, 3) desc, SUBSTR(wr_8, 3) desc ...
DB설계를 다시 하심이 어떨가요..