테스트 사이트 - 개발 중인 베타 버전입니다

다중조건 채택완료

질문하는사람 6년 전 조회 1,866

order by wr_datetime,wr_good,wr_hit desc

 

글이 가장먼저 올라오고, 추천많이받고 조회수가장 높은 이 3가지 조건을 뿌리는데

 

코드를 저렇게 작성했는데 안되네요.. 뭐죠..?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
플래토
6년 전

order by wr_datetime desc, // 최근글 우선

wr_good desc // 추천 많은수 그다음

wr_hit desc // 히트수 그 다음

=>

 

order by wr_datetime desc, wr_good desc, wr_hit desc

 

로 작성하셔야 합니다.

 

기본값은 asc 로 적용됩니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

질문하는사람
6년 전
@플래토 말씀하신대로 해도 최신으로 안뜨네요..반응이없어요. 아 참고로 sql은 left join 사용했습니다
플래토
6년 전
@질문하는사람
원하시는 조건과
쿼리문 전체를 올려줘보세요

select * from
이후 의 내용이 필요합니다.
테이블에서 중복되는 필드가 있으면 조회가 안될수도있어요
질문하는사람
6년 전
@플래토

$sql = " select *
from tbl a left join tbl2 b
on (a.idx = b.idx)
where wr_is_comment = '0'
order by wr_hit desc, wr_good desc, wr_comment desc
limit 4 ";
$result = sql_query($sql);
플래토
6년 전
@질문하는사람

답변이 좀 늦었네요
tbl 과 tbl2 에 둘다
wr_datetime / wr_good / wr_hit가 있는거죠?

이럴때는
테이블 alias를 명시해 주어야 합니다.
기준을 잡아야할 테이블일 a 라고 판단하고

order by a.wr_datetime desc, a.wr_good desc, a.wr_hit desc

형태로 만들어야 정상작동하고
두개를 합할경우

join된 값을 혼합해서 컬럼의 alias를 만들고
테이블을
select * from ( selec col1, col2, col3 from tbl a, tbl b ) c order by c.wr_datetime desc

와 같은 형태로 만드는것도 방법입니다.

쿼리를 만들어서
PHP에서 실행하기전에

phpMyAdmin 혹은 HeidiSql과 같은 DB 접속 툴로 확인후에 적용하세요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인