안녕하세요. 언제나 도움을 받고있는 초보 프로그래머입니다.^^;;;
하나의 테이블데이터에서 중복데이터를 합치고, 계산하는 쿼리입니다.
pay 테이블 데이터
menu | qty | price |
아메리카노 | 2 | 5000 |
아메리카노 | 1 | 2500 |
카페라떼 | 1 | 3500 |
카라멜마키아토 | 1 | 4500 |
카페라떼 | 1 | 3500 |
카페라떼 | 1 | 3500 |
이 테이블에서 오늘날짜의 매출 통계를 가져오고 싶은데
결과물이 아래처럼 나올수있도록 연구하고 있는데 도통 감이 오질 않네요ㅠㅜ
menu | qty | price |
아메리카노 | 3 | 7500 |
카페라떼 | 3 | 10500 |
카라멜마키아토 | 1 | 4500 |
total | 7 | 22500 |
그럼 고수님들의 많은 조언을 부탁드립니다.
추워진 날씨에 감기 조심하세요~
Comment 6
-
뚜뽀
2014.10.29 14:09
-
홍야홍야
2014.10.30 11:35
답변 감사합니다...
아직은 제가 걸음마 수준이라.. 예문이라도 주심 확인해볼텐디..ㅠㅜ
열심히 구글링을 해봐야겠네요ㅜ
-
Hisory
2014.10.29 17:04
select distinct
menu , qty , price
from tablenm -
홍야홍야
2014.10.30 11:37
답변주셔 감사드립니다.
distinct 는 중복제거 아닌가요? 아직제가 초보수준이라..^^;;;
중복된 메뉴명을 제거하고 수량과 가격의 총합을 구하는거라..
다시한번 예문을 부탁드려도 될까요?ㅠㅜ
-
Terry
2014.10.30 13:52
With T As (
Select '아메리카노 ' As menu ,2 As qty ,5000 As price Union All
Select '아메리카노 ' As menu ,1 As qty ,2500 As price Union All
Select '카페라떼 ' As menu ,1 As qty ,3500 As price Union All
Select '카라멜마키아토 ' As menu ,1 As qty ,4500 As price Union All
Select '카페라떼 ' As menu ,1 As qty ,3500 As price Union All
Select '카페라떼 ' As menu ,1 As qty ,3500 As price
)
Select a.menu As menu
,SUM(a.qty) As qty
,SUM(a.price) As price
From T As a
Group By a.menu
Union All
Select 'Total' As menu
,SUM(a.qty) As qty
,SUM(a.price) As price
From T As a -
Hisory
2014.10.30 17:23
select
menu , sum(qty ) as qty , sum( price * qty ) as price
from tablenmgroup by menu
group by menu