순서대로 데이터 정렬하기 0 4 927

by COC GO [SQL Query] [2018.11.09 16:35:18]


안녕하세요. 

눈팅만 하고 도움만 받다가 문의를 드립니다.

WITH t AS
(
SELECT '1891' SEQ, 'B1709' RACK, 6 QTY FROM dual UNION ALL 
SELECT '1891' SEQ, 'PPPPP' RACK, 6 QTY FROM dual UNION ALL
SELECT '1892' SEQ, 'PPPPP' RACK, 170 QTY FROM dual UNION ALL
SELECT '1892' SEQ, 'QQQQQ' RACK, 5 QTY FROM dual UNION ALL
SELECT '1893' SEQ, 'AAAAA' RACK, 50 QTY FROM dual UNION ALL
SELECT '18A1' SEQ, 'QQQQQ' RACK, 12 QTY FROM dual UNION ALL
SELECT '18A2' SEQ, 'PPPPP' RACK, 12 QTY FROM dual UNION ALL 
SELECT '18B0' SEQ, 'QQQQQ' RACK, 210 QTY FROM dual UNION ALL
SELECT '1901' SEQ, 'ZZZZZ' RACK, 66 QTY FROM DUAL
)
SELECT * FROM t;

이 데이터를 SEQ 순서대로 했을때 걸리는 순서대로 SUM 해서 정렬을 하고 싶습니다.

즉 결과값이

RACK QTY
B1709 6
PPPPP 188
QQQQQ 227
AAAAA 50
ZZZZZ 66

 

고수님들 도와 주십시오.

 

by 소주쵝오 [2018.11.09 17:20:58]
SELECT rack
     , sum(qty)
FROM t
group by rack
order by min(seq)
;

 


by COC GO [2018.11.12 09:39:41]

죄송하지만 위 원하는 결과값처럼 나오지 않습니다.

제가 설명이 어려웠거나 자세히 안보신것 같습니다.


by 마농 [2018.11.12 10:31:14]
SELECT rack
     , SUM(qty) qty
  FROM t
 GROUP BY rack
 ORDER BY MIN(seq), rack
;

 


by COC GO [2018.11.12 15:41:08]

감사합니다. ORDER BY에 MIN, MAX는 제가 연구를 해봐야겠네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입