1
SELECT * FROM MaterialWeeklyOutputTable;
cs

[테이블 구조 설명]

mwSeq : 순번 / auto_increment

mwCode : 원재료 코드명

mwTime : 출고 날짜

mwAmount : 출고량

mwInventory : 남은 재고량

mwRemarks : 비고

 

구하고자 하는 것

월별로 그룹하여

1. 출고량의 합

2. 해당월의 마지막 날(최신)의 재고량

이다.

1
2
3
4
5
6
7
8
9
10
SELECT a.mwCode, a.mwTime, a.mwAmount, temp.mwInventory
FROM 
(
    SELECT mwCode, MAX(mwTime) AS mwTime, SUM(mwAmount) AS mwAmount
    FROM MaterialWeeklyOutputTable
    WHERE mwCode = '070' AND mwTime > '2016-01' 
    GROUP BY LEFT(mwTime, 7)
) a
INNER JOIN MaterialWeeklyOutputTable as temp 
ON temp.mwCode = a.mwCode AND temp.mwTime = a.mwTime
cs

같은 테이블을 INNER JOIN 하여 구하였다.

더 좋은 방법이 떠오르지 않느다....

'Centos7 > MySQL' 카테고리의 다른 글

MySQL Replication  (0) 2019.05.27
MySQL Replication 작동 원리  (0) 2019.05.16

+ Recent posts