판매많은순 정렬이.. 배송 많은순으로 변경

판매많은순 정렬이.. 배송 많은순으로 변경

QA

판매많은순 정렬이.. 배송 많은순으로 변경

답변 1

본문

안녕하세요. 선배님들

 

지금 DB를 확인해보니까 it_sum_qty 가 집계가 안되고 있었네요.

 

아마 order 쪽에서  숫자를 올려주는 쿼리가 제대로 작동안하고 있었던 모양인데요.

 

아무튼 판매량 많은순을

배송 많은순으로 변경해보려고 합니다.

 

보니까 sellrank에서 배송 많은 순을 뽑아내고 있긴한데 

저걸 참고해서 하려고 해도, 제 머리로는 어떻게 정렬로 넘길지 감이 안오네요 ㅠ

어떻게 해야될까요? 

 

아니면 다른 방법이라도.. ㅠ

이 질문에 댓글 쓰기 :

답변 1

it_stock_qty는 집계가 되고 있나요?

 

판매순위는 it_stock_qty 컬럼기준으로 정렬되는 부분이라 위 컬럼이 제대로 적용되면 그 기준으로 정렬하시면 판매량으로 보시면 되시고요

 

배송많은 기준은 상태가 배송이 되는 시점 기준으로 해서 카운팅해서 처리하는 컬럼이 추가되어서 적용을 하셔야 할듯 합니다.

 

itemsellrank에서는

 

$sql  = " select a.it_id,
                 b.*,
                 SUM(IF(ct_status = '쇼핑',ct_qty, 0)) as ct_status_1,
                 SUM(IF(ct_status = '주문',ct_qty, 0)) as ct_status_2,
                 SUM(IF(ct_status = '입금',ct_qty, 0)) as ct_status_3,
                 SUM(IF(ct_status = '준비',ct_qty, 0)) as ct_status_4,
                 SUM(IF(ct_status = '배송',ct_qty, 0)) as ct_status_5,
                 SUM(IF(ct_status = '완료',ct_qty, 0)) as ct_status_6,
                 SUM(IF(ct_status = '취소',ct_qty, 0)) as ct_status_7,
                 SUM(IF(ct_status = '반품',ct_qty, 0)) as ct_status_8,
                 SUM(IF(ct_status = '품절',ct_qty, 0)) as ct_status_9,
                 SUM(ct_qty) as ct_status_sum
            from {$g5['g5_shop_cart_table']} a, {$g5['g5_shop_item_table']} b ";
$sql .= " where a.it_id = b.it_id ";

 

해당 쿼리에 보시면 cart라는 테이블과 상품 테이블을 조인해서 해당 cart 테이블의 상태기준으로 합산 기준으로 다 가져와 처리하는건데 이중에 배송상태만 가져와 처리해주는 부분이 배송많은순인걸로 보여집니다.

 

그런데 확실한건 배송이 이뤄진 이후의 시점이라 배송,완료 기준으로 두개다 합산해서 처리하셔서 처리하셔야 정확한 배송기준으로 처리될것이니 참고해서 적용하시되 일일이 적용을 하게 되면 db부화를 발생시킬수 있기에

 

배송시점이 이뤄진것을 item 별도 컬럼테이블에 기록해서 정렬하는 방식을 하셔야 원활한 정렬 처리가 가능하실거 같으니 참고해서 적용해 보세요

답변 감사합니다.
왠지 모르겠는데, 판매량이 제대로 집계가 안들어가고 있습니다. 뭘 기점으로 하는 건지 모르겠네요.
그냥 sellrank에서 가져온값을 it_sum_qty로 뿌리는 쿼리를 실행시켜놨습니다 ㅠ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,284
© SIRSOFT
현재 페이지 제일 처음으로