2017/05/04 - [SQL] - [SQL] 조건절 WHERE 사용하기(and, or, not, like) 에서 사용하던 product_data 에서
금액들의 총 합은 얼마일까?
SELECT
sum(price)
FROM
product_data
;
이게 얼마야, 1억 1,500만 원이라는가 보다.
하지만 그보다는 이런 게 궁금하기 마련이다. '각 제조사가 파는 항목들의 총 금액은?'
즉 금액의 합계를 각 제조사별로 그룹핑 해 주어야 하는 것인데, 직관적이게도 GROUP BY 명령어를 사용하면 된다.
SELECT
sum(price)
FROM
product_data
GROUP BY manufacturer
;
오!
세 가지로 나왔으니 잘 나온 것 같긴 한데, 이러면 뭐가 뭔지 모르잖아?
제조사도 같이 출력하자.
SELECT
manufacturer, sum(price)
FROM
product_data
GROUP BY manufacturer
;
제조사 C에서 고가의 제품을 많이 판매하는 모양이다.
가격이 높은 제조사부터 먼저 보고 싶다면?
ORDER BY 를 사용하여 정렬하면 된다.
SELECT
manufacturer, sum(price)
FROM
product_data
GROUP BY manufacturer
ORDER BY sum(price) DESC
;
DESC 는 내림차순(descending)의 약자다. 오름차순은 ascending 이므로 asc를 써주어도 되는데, 생략하면 기본이 오름차순이다.
두 개 이상의 항목에 대해서도 정렬을 지정할 수 있다.
예를 들어 제품의 가격들을 첫 번째로 제조사 알파벳 순, 그리고 그 안에서 가격 역순으로 정렬하려면
SELECT
manufacturer, price
FROM
product_data
ORDER BY manufacturer ASC, price DESC
;
제품 이름도 나와야지!
SELECT
manufacturer, price, name
FROM
product_data
ORDER BY manufacturer ASC, price DESC
;
무려 전자책 단말기가 1등 -_-
'MySQL' 카테고리의 다른 글
[MySQL] 테이블에 데이터 입력하기 INSERT INTO (0) | 2017.12.10 |
---|---|
[MySQL] 테이블 이름 확인하기 SHOW TABLES (0) | 2017.12.08 |
[MySQL] DB에서 특정 행들만 가져오기(1) - WHERE 절의 "or"를 이용 (0) | 2017.09.08 |
[MySQL] 결과 테이블의 일부 조건만 출력하기 HAVING (0) | 2017.08.04 |
[MySQL] 일부 값만 음수로 계산하기 (조건문 CASE) (0) | 2017.07.28 |
[MySQL] apmsetup으로 연습환경 구축하기, 데이터 넣기 Import (0) | 2017.07.25 |
[MySQL] 다른 테이블에서 데이터 참조하기 JOIN (vlookup) (2) | 2017.06.15 |
[MySQL] 조건절 WHERE 사용하기(and, or, not, like) (0) | 2017.05.04 |
[MySQL] 개수 세기 count / 이름 지정하기 as (0) | 2017.05.03 |
[MySQL] MS Access 에서 연습 환경 구축하기 (0) | 2017.05.02 |
댓글