database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29458 게시물 읽기
No. 29458
쿼리좀 .. 할 수 없는 일인가요?
작성자
송기창
작성일
2009-12-08 20:48
조회수
6,349


 하나의 테이블에 상품의 재고가 플러스 마이너스 되면서 재고관리를 하는데..

 100개의 상품이 있다면


 쿼리로 100개의 현재고를 가져오려면 어떻게 해야하나요?? 잡힐듯 말듯... 모르겠네요..


 일자 상품 수량

 1-1   A       1 

 1-2   A       2

 1-3   A       5

 1-5   B       1

 1-6   C       2

 2-1   B       6

 5-1   B       7

 5-3   C       1



원하는 결과값


 1-3 A 5

 5-1 B 7

 5-3 C 1 


 가능하겠죠... 뱅뱅 도네요...

이 글에 대한 댓글이 총 5건 있습니다.

서브쿼리 쓰셔야 할 것 같은데요.

SELECT * FROM ( SELECT * FROM [TABLE] ORDER BY 일자 DESC ) x GROUP BY 상품

박현우(lqez)님이 2009-12-09 21:44에 작성한 댓글입니다.

 감사합니다. 서브쿼리 기능을 잘 사용하지 못하니까..

 작성시 어려움이 많이 있네요..

 감사드립니다.


 그런데 이런 문제는 있는거 아닌가 생각됩니다.

 상품이 이만개 정도되고 재고의 변화가 날마다 일어나는데(하루에 5천개 상품정도)
 
 Row수가 많아지면 속도문제는 없을까요?

 SELECT * FROM [TABLE] ORDER BY 일자 DESC 
  --> 이부분에서 테이블에 자료를 몽땅가져오는거죠? 몽땅이면 . 자료양 때문에.. 

 에구 머리야.. 속도부분도 개선이 될수 있을까요?  감사 꾸뻒~~
송기창님이 2009-12-10 11:50에 작성한 댓글입니다.
이 댓글은 2009-12-10 11:57에 마지막으로 수정되었습니다. Edit

일단 '일자' 컬럼에 인덱스가 걸려 있다면, 해당 쿼리 자체는 매우 느리지는 않습니다.

요즘 하드웨어에 비추어보자면, 느리다는 말이 나오려면 수백만건은 되어야 할 것으로 보입니다.


그럼에도 불구하고, 느려지는 것이 걱정되신다면, 적어주신 테이블은 로그성 데이터로 보관하시고, 최종 값을 남겨두는 마스터 테이블을 별도로 구성하시는 것이 좋겠습니다. 재고가 변경될 때에 로그 테이블에는 INSERT, 마스터 테이블에는 REPLACE(또는 UPDATE)로 해주시면 되겠습니다.

박현우(lqez)님이 2009-12-11 10:03에 작성한 댓글입니다.

답변 감사 꾸뻑~~

특정일자에 특정상품 재고를 알아야 할것 같아서요

마스터에 최종재고가 넣어둔다면... 최종재고는 금방가져오겠지만...

특정일자 재고는.. 테이블 설계를 이렇게 하면 안되는건가 보네요...

row는 수백만개를 예상해야 되거든요

오천개 * 365 = 1825000 + 알파

이를 어쩐다.... 다른 사람들은 재고관리를 어케하는걸까??

다른 사람들은 다 아는걸 나만 모르는 느낌이 드네요.. 하여간 감사합니다.

근디.. 자동입력방지 숭덕광업이라고 나오는데.. 무슨뜻이죠..??

송기창님이 2009-12-17 23:11에 작성한 댓글입니다. Edit

참..

SELECT * FROM ( SELECT * FROM [TABLE] ORDER BY 일자 , 전표 DESC ) x GROUP BY 상품

일자 , 전표 는 ORDER BY

상품은 GROUP BY  에 걸려 있는데..

이경우 인텍스를 어떻게 주어야 젤루 좋은가요??

 

송기창님이 2009-12-17 23:16에 작성한 댓글입니다.
이 댓글은 2009-12-17 23:17에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29461Latin1으로 DB를 설치했는데, 한글 사용 문제 없나요? [1]
조현철
2009-12-10
7063
29460utf-8 로 설치한 DB에 기존 데이터(euc-kr)를 가져오면 문제가 되나요?
조현철
2009-12-09
6437
29459load data infile [2]
허접
2009-12-09
6528
29458쿼리좀 .. 할 수 없는 일인가요? [5]
송기창
2009-12-08
6349
29457순번 문의 [1]
2009-12-08
5893
29456skip-locking 문의 드립니다. [2]
조경휴
2009-12-07
6774
29455디비 전체 테이블에 대해서 check table을 수행하려면.. [4]
김주홍
2009-12-07
6040
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다