sql 정렬 질문

sql 정렬 질문

QA

sql 정렬 질문

본문

이렇게 하면 합계금액이 많은 순으로 정렬돠면서 5개가 나와야 하는데 왜 1개만 나올까요?

 


<?php 
                        $sql  = " select SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
                        $result_rank = sql_query($sql);
                        for ($i=0; $row=sql_fetch_array($result_rank); $i++)
                            
                            $sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";
                            $result2 = sql_fetch($sql2);
                        {
                        ?>
                        <li>
                            <div class="num"><span><?php echo $i ?></span></div>
                            <div class="thumbnail">
                                <?php echo get_it_image($result2['it_id'], 100, 100); ?>
                            </div>
                            <div class="memo">
                                <p class="subject"><?php echo $result2['it_name'] ?></p>
                                <div class="info">
                                    <div class="tit">조각 당 현재가</div>
                                    <div class="price">1,800원</div>
                                    <div class="priceUpdown">▲ 800원(80.0%)</div>
                                </div>
                                <div class="info">
                                    <div class="tit">작품 제시가</div>
                                    <div class="price">1,800원</div>
                                </div>
                            </div>
                        </li>
                        <? } ?>

이 질문에 댓글 쓰기 :

답변 5

                  for ($i=0; $row=sql_fetch_array($result_rank); $i++)
                            
                            $sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";
                            $result2 = sql_fetch($sql2);
                        {

for문이 잘못된거 같은데요  조건문 다음에 중괄호가 열려야 하는데

$sql2 구문 아래에 들어가 버렸습니다

 

게시판 리스트 보면 $list[$i] 형식 사용하잖아요. 

위 코드 보면 값 형식이 리스트에서 $view 변수 사용하는 것처럼 되어 있네요.

자세한 건 다음 고수분이 알려주실 겁니다. 저는 초보라 자세한 건 몰라요. ㅜㅜ


<?php 
$sql  = " select SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";
$result_rank = sql_query($sql);
while($row=sql_fetch_array($result_rank)){
    $sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";
    $result2 = sql_fetch($sql2);
?>
<li>
    <div class="num"><span><?php echo $i ?></span></div>
    <div class="thumbnail">
        <?php echo get_it_image($result2['it_id'], 100, 100); ?>
    </div>
    <div class="memo">
        <p class="subject"><?php echo $result2['it_name'] ?></p>
        <div class="info">
            <div class="tit">조각 당 현재가</div>
            <div class="price">1,800원</div>
            <div class="priceUpdown">▲ 800원(80.0%)</div>
        </div>
        <div class="info">
            <div class="tit">작품 제시가</div>
            <div class="price">1,800원</div>
        </div>
    </div>
</li>
<? } ?>

이렇게 사용하시길 권하구요...

sql문은 잘 하신것 같은데...

$sql = " select it_id,

-- 추가하시고요

SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";

                        $result_rank = sql_query($sql);

                        for ($i=0; $row=sql_fetch_array($result_rank); $i++)

                            { // 추가

                            $sql2 = "select * from `g5_shop_item` where it_id = '".$row['it_id']."' ";

                            $result2 = sql_fetch($sql2);

                        { // 삭제

                        ?>

 

그리고

query 문을 처음부터

 join으로 처리 하시면

Loop 안에서 추가 query가 필요없습니다.

다른것은 다 괜찮은데

한가지가 누락되서 그래요

 

 

$sql  = " select SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";

이 문장에서

it_id가 누락되었네요


 

$sql  = " select it_id, SUM(it_qty) as it_qty_sum from `g5_shop_trading_sell` group by it_id order by it_qty_sum desc limit 5 ";

만 하시고 다시 해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 720
QA 내용 검색
filter #sql ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT