그룹별 합계 좀 도와주세요 ㅠㅠ 0 6 1,114

by 김실홍 [SQL Query] [2016.02.18 16:54:32]


데이터

 

group       groupSum      data

1                   3              TEST01

1                   3              TEST01

1                   3              TEST01

2                   2              TEST02

2                   2              TEST02

 

원하는 데이터가 위와같습니다

 

쿼리는

 

SELECT

 DENSE_RANK() OVER ( ORDER BY T.data ) AS group

, '' AS groupSum      

, data

FROM TABLE T

 

쿼리가 위와같습니다

 

 DENSE_RANK() OVER ( ORDER BY T.data ) AS group   로    data 의 중복별 그룹은 지었는데

그룹의 총 합계를 내고 싶습니다..

 

도와주세요 ㅠㅠ

 

 

by 우리집아찌 [2016.02.18 17:02:42]

원본 데이터도 올려주세요.


by swlee710 [2016.02.18 17:05:04]
with t (data) as (
select 'TEST01' from dual union all
select 'TEST01' from dual union all
select 'TEST01' from dual union all
select 'TEST02' from dual union all
select 'TEST02' from dual)
select dense_rank() over(order by data)  gp
      , count(data) over(partition by data) group_sum
      , data
from t;

 


by 김실홍 [2016.02.18 17:15:55]

정말 감사드립니다 ㅠㅠ


by 창조의날개 [2016.02.18 17:05:09]
SELECT
       DENSE_RANK() OVER ( ORDER BY T.data ) AS group
      , COUNT(*) AS groupSum      
      , data
FROM TABLE T
group by data
;

그룹의 총 합계라는게 해당 그룹에 포함되어 있는 DATA의 수량 이라면 위와 같이 하시구요..

다른 뜻이라면 정확히 어떤 뜻인지요?


by 김실홍 [2016.02.18 17:13:38]

WITH TEST AS (

SELECT 'TEST01' AS DATAS FROM DUAL UNION ALL

SELECT 'TEST01' AS DATAS FROM DUAL UNION ALL

SELECT 'TEST01' AS DATAS FROM DUAL UNION ALL

SELECT 'TEST02' AS DATAS FROM DUAL UNION ALL

SELECT 'TEST02' AS DATAS FROM DUAL 

)

SELECT 

DENSE_RANK() OVER (ORDER BY TATAS ) AS GROUP

,'' AS GROUP_SUM

,DATAS

FROM TEST

 

 

지금 짠 쿼리가 저런 형태입니다

 

딱 저상황일때..... COUNT낼수 없나요??

 

 

창조의 날개님이 달아주신것은 그룹바이를 해야되서요;; ㅠㅠ

그룹섬이니까 무조건그룹바이를 해야되나요??


by 우리집아찌 [2016.02.18 17:21:10]

GROUP BY 를 빼셔야죠.

위에 답주셨네요,

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