[postgreSQL] ROW_NUMBER, RANK, DENSE_RANK함수
--13)ROW_NUMBER, RANK, DENSE_RANK함수 --특정 집합 내에서 결과 건수의 변화 없이 해당 집합안에서 특정 컬럼의 순위를 구하는 함수 --ROW_NUMBER 함수 - 무조건 1,2,3,4,5... --같은 순위가 있어도 무조건 순차적으로 순위를 매긴다.(1,2,3,4,5..순으로) select A.PRODUCT_NAME, B.GROUP_NAME, A.PRICE, ROW_NUMBER() over (partition by B.GROUP_NAME order by A.PRICE DESC) from PRODUCT a inner join PRODUCT_GROUP b on (A.GROUP_ID = B.group_ID); --RANK 함수 - 같은 순위면 같은 순위면서 다음 순위 건너뜀 1,1,..
2021. 9. 15.
[postgreSQL] [그룹함수] GROUPING SETS, ROLLUP, CUBE
--8)GROUPING SET절 --여러개의 UNION ALL을 이용한 SQL과 같은 결과를 도출할 수 있다. select C1, C2, 집계함수(C3) from TABLE_NAME group by grouping sets (--grouping set절을 이용하면 한번에 다양한 기준의 컬럼 조합으로 집계를 구할 수 있다. (C1, C2), (C1), (C2), (), ); select BRAND, SEGMENT, SUM(QUANTITY) from sales s group by grouping sets ( (BRAND,SEGMENT),--BRAND, SEGMENT컬럼 기준으로 합계를 구한다. (BRAND),--BRAND컬럼 기준으로 합계를 구한다. (SEGMENT),--SEGMENT컬럼 기준으로 합계를 구..
2021. 9. 15.