본문 바로가기

group by4

[SQL]PARTITION BY, GROUP BY는 어떻게 다를까 GROUP BY와 PARTITION BY의 차이 GROUP BY PARTITION BY 사용 그룹 외부에서 묶어 순위 및 그룹별 집계를 구할 떄 사용 그룹 내 순위 및 그룹별 집계를 구할 때 사용 결과값 특정 원하는 컬럼에 대해서 추출해 결과값 보여줌 전체 데이터에서 원하는 결과값 보여줌 결론 : 데이터 다 보고 싶으면 PARTITION BY, 요약해서 하나씩 한줄씩만 보려면 GROUP BY 예시 1. 대륙별 GNP 합계 구하기 1) GROUP BY SELECT Continent ,SUM(GNP) FROM world.country group by Continent; 2) PARTION BY SELECT Continent ,SUM(GNP) OVER(PARTITION BY Continent) FROM wor.. 2021. 6. 10.
[SQL] 서브쿼리는 언제 쓰는걸까? 처음 서브쿼리가 들어간 쿼리를 봤을 때 "왜 이렇게 잘난척 하면서 쿼리를 짠거지?"라고 생각했다. 당시 SQL 문법을 갓 떼고 나름 SELECT FROM WHERE 등을 조합해 쿼리를 짤 줄만 알던 시기였다. 서브쿼리가 뭔지는 알았고, 어떻게 짜는지는 알고는 있었지만, 언제, 왜 짜는지는 몰랐기 때문에 괜히 잘난척 하는 것처럼 보였던 것 같다.... SQL 서브쿼리 정의 하나의 SQL 문 안에 또다른 SQL 문이 포함되어 있는 경우 서브쿼리 사용 가능한 곳 1. SELECT 절 스칼라 서브쿼리라고도 하며 한 행, 한 컬럼만을 반환하는 서브쿼리를 말함 SELECT T1.C1 ,(SELECT AVG(T2.C1) FROM TEMP2 T2) FROM TEMP1 T1; 2. FROM 절 인라인 뷰 라고 하며 동적.. 2021. 4. 7.
여러가지 COUNT() 쓰임새 공부하다 보니 너무 헷갈려서 싹 다 해봐야겠다. 1. COUNT(*) 2. COUNT(컬럼) 3. COUNT(DISTINCT 컬럼) 4. 컬럼 1, COUNT(*) - GROUP BY 컬럼 1 5. 컬럼 1, COUNT(DISTINCT 컬럼2) - GROUP BY 컬럼 1 1. COUNT(*) : NULL값을 포함한 전체 행을 출력한다. 2. COUNT(컬럼) : NULL값을 제외한 전체 행을 출력한다. 3. COUNT(DISTINCT 컬럼) : 컬럼 내 DISTINCT한 값 출력한다. 4. 컬럼 1, COUNT(*) - GROUP BY 컬럼 1 : 컬럼 1의 고유한 값을 기준으로 NULL값 포함해서 몇 개의 데이터가 있는지 계산한다. 5. 컬럼 1, COUNT(컬럼) - GROUP BY 컬럼 1 : 4.. 2021. 3. 9.
DISTINCT와 GROUP BY의 차이 먼저 개념적인 차이는 다음과 같다. DISTINCT = 컬럼 내 데이터를 중복을 제거해 조회한다. GROUP BY = 컬럼 내 데이터를 Unique한 값을 기준으로 그 결과를 가져온다. 두 작업은 기능적으로는 약간의 차이가 있지만, 동일한 형태의 작업이다. 쉽게 생각해서, DISTICNT는 그룹핑만, GROUP BY는 그룹핑 + 정렬의 과정이다. 때문에 연산 속도도 DISTINCT가 더 빠르며 같은 그룹핑 작업을 진행하므로 두 연산을 동시에 할 수 없기도 하다. SELECT DISTINCT C1 FROM TEMP; SELECT DISTINCT C1, C2 FROM TEMP; SELECT C1 FROM TEMP GROUP BY C1; SELECT C1, C2 FROM TEMP GROUP BY C1, C2;.. 2021. 3. 9.