검색어 질문~~~

· 19년 전 · 1521 · 6
ㄷ ㅐ충~ 해봤더만 그냥 많은 순으로 뽑히네요. -_-;;

많은 순으로 10개 뽑고 이것을 랜덤으로 출력 할려고 하는데,

안 되네요.

방법이 있나요...?



$sql = " (select *, count(*) as cnt from $g4[popular_table] group by pp_word order by cnt desc limit 0, 10) order by rand() ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {

echo $row[pp_word]."-".$row[cnt];

}
|

댓글 6개

원하시는 결과가 나올듯 한데..

어떻게 안되는거죠?
제가 sql구문은 잘모르지만요..
order by cnt 요거 cnt 순으로 정렬해라는 구문 아닌가요?
요거 있고.. 뒤에 또 order by rand() 있는데.. 중복으로 써도 되남요?


되나보네..;;;
위쿼리를 phpMyAdmin에서 돌려보면 랜덤한 결과가 나옵니다.
()에 의해서 조회를 먼저한후 rand로 처리해서 이상없는것 같습니다만...
어떤 문제로 안되는지에 대한 자세한 설명이 없군요.
쿼리를 이렇게 한번 바꿔보세요.
$sql = " (select pp_word, count(pp_word) as cnt from $g4[popular_table] group by pp_word order by cnt desc limit 0, 10) order by rand() ";
10개중 ...

cnt 값이 같은 것만 랜덤으로 되네요. ㅡ.ㅡ
10개를 뽑아서 shuffle로 썪어주면 될듯 합니다 -_-ㅋ
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,512
19년 전 조회 1,682
19년 전 조회 1,743
19년 전 조회 1,519
19년 전 조회 1,660
19년 전 조회 2,006
19년 전 조회 3,930
19년 전 조회 1,510
19년 전 조회 1,704
19년 전 조회 1,522
19년 전 조회 2,116
19년 전 조회 1,545
19년 전 조회 1,594
19년 전 조회 1,612
19년 전 조회 1,575
19년 전 조회 1,549
19년 전 조회 1,429
19년 전 조회 1,620
19년 전 조회 1,606
19년 전 조회 1,678