sql group by 질문 입니다.

sql group by 질문 입니다.

QA

sql group by 질문 입니다.

본문

2109067063_1656750533.4559.png

 

이렇게 잘 나오고  있거든요

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

 

2109067063_1656750641.8392.png

 

 

4

3

2

1

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

 


// 실시간 매도 호가
$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);
$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'];
 
<?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>
                    <? } ?>

이 질문에 댓글 쓰기 :

답변 1

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

정확하게 알수 있습니다.

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


 
$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);
$count = sql_num_rows($result_sale);    <-- 요렇게 해서 한번 사용해보세요.
 
<?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>
<? } ?>
 
답변을 작성하시기 전에 로그인 해주세요.
전체 1,020
QA 내용 검색

회원로그인

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