잘이용하면 재미있는 쿼리 만들기가 쉽겠네요....

출력물중 마진, 비중 같은 쿼리로 짜기가 쉬울듯.. ㅎㅎㅎ

 

ROW_NUMBER() . 순위 함수 같은 경우는 OVER를 이용해서 활용을 많이 하는데

우연치 않게 HELP보다가 ...

http://www.sqlleader.com/mboard.asp?exec=view&strBoardID=SS2005TSQL&intPage=1&intCategory=0&strSearchCategory=|s_name|s_subject|&strSearchWord=&intSeq=1808

WITH TEST

AS(

select  1 IDX, 'A' GB , 1 QTY UNION ALL

select  2 IDX, 'A' GB , 2 QTY UNION ALL

select  3 IDX, 'B' GB , 3 QTY UNION ALL

select  4 IDX, 'B' GB , 4 QTY UNION ALL

select  5 IDX, 'B' GB , 5 QTY UNION ALL

select  6 IDX, 'C' GB , 6 QTY UNION ALL

select  7 IDX, 'C' GB , 7 QTY UNION ALL

select  8 IDX, 'C' GB , 8 QTY UNION ALL

select  9 IDX, 'C' GB , 1 QTY UNION ALL

select 10 IDX, 'D' GB , 3 QTY  )

SELECT GB

    ,  QTY

    ,  SUM(QTY) OVER   (partition by GB ) SUMQTY

    ,  MAX(QTY) OVER   (partition by GB ) MAXQTY  

    ,  MIN(QTY) OVER   (partition by GB ) MINQTY 

    ,  AVG(QTY) OVER   (partition by GB ) AVGQTY  

    ,  COUNT(1) OVER   (partition by GB ) CNT   

    ,  MIN(IDX) OVER   (partition by GB ) FIRST_IDX

    ,  MAX(IDX) OVER   (partition by GB ) LAST_IDX

  FROM TEST

 

 





profile