컴퓨터 공부/Database 13

[Database] MYSQL groupby rollup

오늘은 group by를 이용하여 도출된 값을 좀 더 응용해보고자 한다. 1. rollup이란 group by 절의 그룹 조건에 따라 전체 행을 그룹화하고 그 데이터의 총합계를 구하는 rollup이라는 것이 있다. 2. 예제 예제를 살펴보자. 예제 1) SELECT p_category, SUM(p_price) FROM tb_product GROUP BY p_category [그림 1] tb_product라는 상품테이블을 카테고리별로 그룹화하였다. 또한 SUM이라는 집계함수를 이용하여 카테고리 별로 판매 가격의 합계를 구하였다. 이제 rollup을 이용하여 이 테이블의 총합계를 구해보자 . SELECT p_category, SUM(p_price) FROM tb_product GROUP BY p_catego..

[Database] mysql explain 이해

오늘은 explain plan에 대해 배워보도록 하겠다. 1. explain의 정의 explain Plan란 SQL을 수행하기전 데이터를 어떻게 가져올 건지에 대한 실행계획을 의미하며 데이터 performance를 확인 하고자 할때 explain Plan 명령어를 사용한다. 2. 사용방법 2.1 ) SELECT 에서 explain 사용하기 select explain을 사용하려면 SELECT 키워드 앞에 explain을 붙여주면된다. 간단하게 user라는 테이블과 author이라는 테이블이 있다라고 할때 두 테이블을 조인한 테이블에 대하여 explain을 주었다. 아래는 두 테이블에 대한 explain 결과이다. [그림 1] EXPLAIN SELECT user.user_name, author.authori..

[Database] Groupby에 대해서 알아보자

오늘은 "Groupby" 에 대해서 설명해보자~ 1.GROUP BY 정의 GROUP BY 의 정의는 특정 컬럼의 값을 각 값별로 묶어서 결과를 출력하는 것으로 논리적으로 FROM절에 있는 테이블을 GROUPBY절에 명세된 열의 값에 따라 그룹으로 분할한다. 이해하기 쉽도록 예제를 들어보면. 카테고리에 5개의 종류가 있다. 이때 내가 product테이블에 들어있는 상품들 중 category별로 가장 높은 가격인 상품을 보고 싶을 경우 특정 컬럽의 값을 ( p_catagory ) MAX라는 집계함수를 통해 각 값별 (p_price) 로 묶어서 결과를 출력한다. = SELECT MAX(p_price) AS c_cgry FROM tb_product GROUP BY p_catagory 위 쿼리에 대한 결과값은 아..