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

sql group by 질문 입니다. 채택완료

웹프리죤 3년 전 조회 2,118

 

이렇게 잘 나오고  있거든요

빨간 부분이 가격이 동일해서 group by 를 시키면 아래처럼 카운트가 맞지 않는데요..

 

 

 

4

3

2

1

이렇게 카운트가 정상적으로 나오게 수정할 방법이 있을까요?

 

</p>

<p>// 실시간 매도 호가

$sql = " select *,sum(sale_qty) as itqty from `g5_shop_trading` where it_id = '".$it_id."' and sale_status = '판매중' group by sale_price order by sale_price desc  ";

$result_sale = sql_query($sql);</p>

<p>$sql3 = " select count(*) as cnt from `g5_shop_trading` where it_id = '".$it_id."' and sale_status = '판매중' group by sale_price order by sale_price desc ";

$result_count = sql_fetch($sql3);

$count = $result_count['cnt'];</p>

<p> </p>

<p><?php

                        for ($i=0; $row=sql_fetch_array($result_sale); $i++) {

                        $j = $count - $i;

                    ?>

                    <li>

                        <div>매도 <?php echo $j ?> 호가</div>

                        <div><?php echo number_format($row['sale_price']) ?></div>

                        <div><?php echo number_format($row['itqty']) ?></div>

                        <div><?php echo number_format($row['itqty'] * $row['sale_price']) ?></div>

                    </li>

                    <? } ?></p>

<p>

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

답변 1개

채택된 답변
+20 포인트
복스리
3년 전

별도로 카운트를 구하지 마시구  sql_num_rows 를 사용면 group by을 하더라도 카운터를

정확하게 알수 있습니다.

select count를 하면 조건에 따라 값이 틀려질수 있기 때문에 row count랑 상이 해질수 있습니다.

</p>

<p> </p>

<p>$sql = " select *,sum(sale_qty) as itqty  from `g5_shop_trading`</p>

<p>           where it_id = '".$it_id."'  and sale_status = '판매중'</p>

<p>           group by sale_price</p>

<p>           order by sale_price desc  ";

$result_sale = sql_query($sql);</p>

<p>$count = sql_num_rows($result_sale);    <-- 요렇게 해서 한번 사용해보세요.</p>

<p> </p>

<p><?php

    for ($i=0; $row=sql_fetch_array($result_sale); $i++) {

    $j = $count - $i;

?>

<li>

    <div>매도 <?php echo $j ?> 호가</div>

    <div><?php echo number_format($row['sale_price']) ?></div>

    <div><?php echo number_format($row['itqty']) ?></div>

    <div><?php echo number_format($row['itqty'] * $row['sale_price']) ?></div>

</li>

<? } ?></p>

<p> </p>

<p>

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

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

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

로그인