웹모아
웹모아[손님] 검색   로그인    


 
백업/기타
 


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


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 백업 및 복77
     MySQL DB 백업 및 복구 - mysqldump505
     [MySQL] 리눅스DB를 윈도우DB로 이전(Too425
       [RE] [MySQL] 리눅스DB를 윈도우DB로 이650
     정보통신부 제공 우편번호부 원본파일747
     mysql 원격접속방법708
  가격비교 참고자료(홈마스타)(3) 513
     리눅스에서 PHP 콘솔을 이용한 MySQL DB 백(홈마스타)576
     utf8 환경으로 자료 conversion 성공기(홈마스타)545
     Mysql-4.1.13 의 한글 문제. | 리눅스(홈마스타)456
     MySQL 5.0 euckr 문자세팅(홈마스타)498
     mySql 처리 함수(홈마스타)1281
     mysql의 주요 함수(홈마스타)1102
     MySQL 백업(홈마스타)483
     mysql 과 함께 사용되는 명령어 사용법(홈마스타)462
     mysql의 최대 성능 향상 방법(홈마스타)786
     리눅스에서 PHP 콘솔을 이용한 MySQL DB 백(홈마스타)513
     PHP로 MySQL 백업받기(홈마스타)691
       [RE] PHP로 MySQL 백업받기(홈마스타)494
     ORDER BY 에서 조건걸기(홈마스타)564
     백업과 복구(홈마스타)555
     리눅스 서버에서 홈페이지의 DB를 백업할려면?(홈마스타)562
     MySQL 데이터 백업 및 복구 | Database(홈마스타)(1) 821
       [RE] MySQL 데이터 및 구조의 백업 - 실제(홈마스타)553
     mysql 주기적으로 백업하기(홈마스타)616
     웹서버와 DB서버를 분리해서 운영할려면?(홈마스타)750
     백업받는 스크립트(홈마스타)676
     서브 쿼리 지원되는 MySQL 버젼...(홈마스타)591
     MySQL Dump뜨는 방법 및 복구 방법(홈마스타)620
       [RE] MySQL Dump뜨는 방법 및 복구 방법(홈마스타)808
≪ [1]  [2]   ≫

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



 
최근 글
[손님]
85
77
233
377
621
374
416
241
361
3809
914
954
1200
974
4266
 
인기 글
[손님]
3188
5284
3153
3062
3269
5773
3706
3882
4348
10649
4300
6905
6526
6242
3073