2013-06-11 2 views
0

고객이 트랜잭션을 기록하는 데 사용되는 데이터베이스가 있습니다. 다음과 같이 각 사용자 ID의 트랜잭션 값 계산

표 (거래)

밖으로 설정됩니다

**ID | Added-date | userid | amount | department | transaction-date | addedby** 

1  yyyy-mm-dd P1001 9.78  dpt 1  yyyy-mm-dd   username 

1  yyyy-mm-dd P1023 19.78 dpt 2  yyyy-mm-dd   username 

1  yyyy-mm-dd P1021 39.78 dpt 3  yyyy-mm-dd   username 

1  yyyy-mm-dd T1501 9.78  dpt 2  yyyy-mm-dd   username 

내가하고 싶은 무엇

는 각 사용자에 대해 거래의 총 가치를 추가 할 것입니다 ======= 상위 50 명의 소비자를 표시 할 수 있어야합니다.

아무도 내가 지금까지 비어있는 그림을 그려서이 작업을 수행 할 수있는 방법을 제안 할 수 있습니까?

감사합니다.

답변

1

SUMGROUP BY을 사용해 보셨습니까? 같은

뭔가 : SUM 같은 집계 함수를 갖는

SELECT SUM(amount) as `total_amount`, userid 
FROM `transactions` 
GROUP BY `userid` 
0
SELECT userid, SUM(amount) AS total FROM transactions GROUP BY userid 

당신의 SELECT 절에 일반적으로 하나의 행이 WHERE 절과 일치 할 경우 모든 행의 총을 포함하는 출력되도록 할 것입니다. GROUP BY은 이러한 함수의 수정 자이며 지정된 필드의 고유 값마다 집계합니다.

참조 : 상위 50 낭비를 들어 Group By

0

:

SELECT userid, SUM(amount) AS TotalSpent 
FROM transactions 
GROUP BY userid 
ORDER BY TotalSpent LIMIT 50