keyValue | num |
가 | 1 |
나 | 1 |
가 | 1 |
다 | 1 |
라 | 2 |
마 | 2 |
라 | 2 |
바 | 3 |
사 | 3 |
아 | 3 |
(1) num 별로 group by 하면
1 4 개
2 3 개
3 3개
(2) num 을 keyValue 로 group by 하면
1 3 개
2 2 개
3 3 개
입니다
고수님 !
이것을 합치고 싶은데요..... 어렵네요
다음처럼 가능한가요?
num | 원래 count | keyValue 를 GroupBy 한 갯수 |
1 | 4 | 3 |
2 | 3 | 2 |
3 | 3 | 3 |
Comment 2
-
이리
2016.10.04 13:43
;WITH TBL(keyValue, num)AS(SELECT '가', 1 UNION ALLSELECT '나', 1 UNION ALLSELECT '가', 1 UNION ALLSELECT '다', 1 UNION ALLSELECT '라', 2 UNION ALLSELECT '마', 2 UNION ALLSELECT '라', 2 UNION ALLSELECT '바', 3 UNION ALLSELECT '사', 3 UNION ALLSELECT '아', 3)SELECT T1.num, SUM(CASE T1.sort WHEN 1 THEN [count] END) AS [원래 count], SUM(CASE T1.sort WHEN 2 THEN [count] END) AS [keyValue 를 GroupBy 한 갯수]FROM(SELECT num, COUNT(*) AS [count], 1 AS sortFROM TBLGROUP BY numUNION ALLSELECT num, COUNT(DISTINCT keyValue) AS [count], 2 AS sortFROM TBLGROUP BY num) AS T1GROUP BY T1.num이런식인가요? -
손꽁쥐
2016.10.04 14:19
;WITH TEST(keyValue, num)AS(SELECT '가', 1UNION ALL SELECT '나', 1UNION ALL SELECT '가', 1UNION ALL SELECT '다', 1UNION ALL SELECT '라', 2UNION ALL SELECT '마', 2UNION ALL SELECT '라', 2UNION ALL SELECT '바', 3UNION ALL SELECT '사', 3UNION ALL SELECT '아', 3)SELECT num, COUNT(1) AS '원래 count', COUNT(DISTINCT keyValue) AS 'keyValue를 GroupBy 한 갯수'FROM TESTGROUP BY num