2016-06-01 2 views
0
내가 임시 테이블의 몇 가지를 만들어 내 데이터베이스에 합류하여이 유사한 테이블을 생성

로는 :SQL : 그룹 여러 열

Country Segment Count of customer by segment sum of sales by segment 
CAN  1  70        $3,000 
CAN  2  30        $3,000 
CAN  3  20        $3,000 
CAN  4  110        $3,000 
CAN  5  90        $3,000 
CAN  6  10        $3,000 
CAN  7  60        $3,000 
CAN  8  5000       $3,000 
CAN  9  2527.857143      $3,000 
CAN  10  2939.880952      $3,000 
US  1  3351.904762      $3,000 
US  2  3763.928571      $3,000 
US  3  4175.952381      $3,000 
US  4  4587.97619      $3,000 
US  5  5000       $3,000 
US  6  5412.02381      $3,000 
US  7  5824.047619      $3,000 
US  8  6236.071429      $3,000 
US  9  6648.095238      $3,000 
US  10  7060.119048      $3,000 
:

customerid Segment Sales Country 
1   1  $3  US 
2   2  $4  CAN 
3   3  $5  US 
4   5  $6  CAN 
5   4  $5  US 
6   6  $1  CAN 
7   7  $4  US 
8   3  $2  CAN 
9   2  $2  US 
10   1  $1  CAN 
11   9  $5  US 
12   10  $2  CAN 
13   1  $4  US 
14   3  $2  CAN 
15   4  $1  US 

내가 달성하고자하는 것은 이것이다

어떻게해야합니까?

+2

. . 테이블을 링크로 보는 것보다 텍스트로 넣는 것이 훨씬 낫습니다. –

+0

'세그먼트 별 고객 수'가 십진수로 표시되는 이유는 무엇입니까? – Squirrel

+0

테이블이 여기에 잘 보이지 않습니다. 세그먼트는 1-10입니다. –

답변

0

원본 테이블의 모든 레코드를 유지하면서 일부 집계를 표시하려는 경우 파티션이 유용합니다. 그러나, 우리가 보여준 것에서는 각각 Country/Segment이 나타나는 결과 세트를 원하는 것처럼 보입니다. 이 경우 간단한 GROUP BY이 작동해야합니다 :

SELECT Country, Segment, COUNT(*) AS `Count of customer by segment`, 
    SUM(Sales) AS `sum of sales by segment` 
FROM yourTable 
GROUP BY Country, Segment 
ORDER BY Country, Segment