웹모아
웹모아[손님] 검색   로그인 / 회원가입    



 
백업/기타
 


가격비교 참고자료
  2007-08-04 01:12:35 댓글:(3)   조회:534



product (상품정보) 
------------------------------------ 
code  | model      | category | hit 
------------------------------------ 
1000  | 캐논디카A  | 1000    | 50 
1001  | 캐논디카B  | 1000    | 40 
1002  | 캐논디카C  | 1000    | 60 
1003  | 니콘디카A  | 2000    | 30 
1004  | 니콘디가B  | 2000    | 70 
1005  | 올림디카A  | 3000    | 50 
1006  | 올림디카B  | 3000    | 60 
1007  | 삼성디카A  | 4000    | 10 

mall (입점몰) 
------------------------------------- 
mall_id  | code  | price 
------------------------------------- 
aaa      | 1000  | 500000 
aaa      | 1003  | 400000 
aaa      | 1004  | 700000 

bbb      | 1000  | 450000 
bbb      | 1005  | 600000 

ccc      | 1003  | 600000 
ccc      | 1005  | 580000 

ddd      | 1006  | 500000 
ddd      | 1004  | 600000 

쇼핑몰 상품정보(product)를 등록해놓으면 
입점업체에서 등록된 상품정보를 등록(mall)해서 가격만 정하는형태 
입니다.. 일종의 가격비교사이트와 비슷한 성격이구요.. 

인덱스 페이이지에서 
등록된 상품의 카테고리별 인기상품(product.hit)을 출력하려고 
하는데 group by를 어떻게 해야할지 고민입니다... 

등록된상품(product)중 입점몰(mall)에 1개이상 등록된 상품을기준으로 
카테고리별 히트수(product.hit)가 높은상품의 최저가, 그상품을 등록한 업체수를 1개씩 나열해주는 리스트 페이지입니다. 

결과값 
------------------------------------------------------------------- 
code  | model      | category | hit  | price(최저가)    | 등록업체수 
-------------------------------------------------------------------- 
1002  | 캐논디카C  | 1000    | 60  | 450000              |    2 
1004  | 니콘디가B  | 2000    | 70  | 600000              |    2 
1006  | 올림디카B  | 3000    | 60  | 500000              |    1 
삼성디카는 업체등록이 안되어서 결과에서 빠지게 되는거구요... 

쿼리좀 부탁드려요.. 
한번에 안되면 어떤 방식으로 해야한다는 방법이라도... 
참고로 MySQL 버전은 4.0. 서브쿼리가 안되요....ㅜㅜ



 댓글 (3)


  •   홈마스타    2007-08-04 01:14:21
    설계를 바꾸는 방법이 좋을듯 합니다. 상품정보에 최하가,업체,업체수 정도 필드 추가하시는게 나을듯하네요. 리스트할때마다 조인하는게 성능면에서 비효율적이니까요

  •   홈마스타    2007-08-04 01:13:39
    select a.*, b.* from product a join (select code, min(price) as price, count(code) as mall_cnt group by code) b on a.code=b.code

  •   홈마스타    2007-08-04 01:13:11
    제가 해봤던 방법은
    select a.code,a.model,a.category.a.hit, b.mall_id,
    count(b.code) as mall_cnt,min(b.price) as min_price
    from product a left join mall b on a.code=b.code
    where a.category between 1000 and 4000
    group by a.category
    having mall_cnt > 0
    order by a.hit desc
    이렇게 해봤는데 원하는 카테고리별 상품은 구했지만
    a.hit와 등록업체수(mall_cnt) 가 맞질 않아서요..
    group by 에서 a.code를 넣으면 상품 전체가 나오는 결과가 되서 a.code를 빼면 a.category에 들어가는 상품중 hit수가 높은걸 뽑아와야 하는데 a.category의 제일마지막 상품을 뽑아오는것 같더라구요.. 그래서 상품 히트수가 맞질않구요... 업체등록수도 a.category별 등록된 상품수를 sum하는 결과가 나오네요.. 고수님들 쿼리좀 뽑아주세요...^^
  • 



백업/기타
페이지: 1 / 2   


   XtraBackup을 이용한 MySQL 백업 및 복239
   MySQL DB 백업 및 복구 - mysqldump515
   [MySQL] 리눅스DB를 윈도우DB로 이전(Too436
     [RE] [MySQL] 리눅스DB를 윈도우DB로 이662
   정보통신부 제공 우편번호부 원본파일766
   mysql 원격접속방법719
가격비교 참고자료(홈마스타)(3) 535
   리눅스에서 PHP 콘솔을 이용한 MySQL DB 백(홈마스타)586
   utf8 환경으로 자료 conversion 성공기(홈마스타)557
   Mysql-4.1.13 의 한글 문제. | 리눅스(홈마스타)466
   MySQL 5.0 euckr 문자세팅(홈마스타)513
   mySql 처리 함수(홈마스타)1297
   mysql의 주요 함수(홈마스타)1160
   MySQL 백업(홈마스타)499
   mysql 과 함께 사용되는 명령어 사용법(홈마스타)477
   mysql의 최대 성능 향상 방법(홈마스타)822
   리눅스에서 PHP 콘솔을 이용한 MySQL DB 백(홈마스타)523
   PHP로 MySQL 백업받기(홈마스타)706
     [RE] PHP로 MySQL 백업받기(홈마스타)504
   ORDER BY 에서 조건걸기(홈마스타)575
   백업과 복구(홈마스타)562
   리눅스 서버에서 홈페이지의 DB를 백업할려면?(홈마스타)572
   MySQL 데이터 백업 및 복구 | Database(홈마스타)(1) 830
     [RE] MySQL 데이터 및 구조의 백업 - 실제(홈마스타)565
   mysql 주기적으로 백업하기(홈마스타)625
   웹서버와 DB서버를 분리해서 운영할려면?(홈마스타)760
   백업받는 스크립트(홈마스타)704
   서브 쿼리 지원되는 MySQL 버젼...(홈마스타)599
   MySQL Dump뜨는 방법 및 복구 방법(홈마스타)630
     [RE] MySQL Dump뜨는 방법 및 복구 방법(홈마스타)878
[1]  [2]  

복수단어 검색은 공백(space)로 구분해 주세요. 1





최근 글
[손님]

인기 글
[손님]
[홈마스타] 카네기의 지도론