그래서 각 유형의 활동에 대해 가장 많은 점수를 가진 사용자를 표시하는 쿼리를 작성하려고합니다. 아래 테이블을 보면 알 수 있습니다. 각 액티비티는 activity_typeid이고 각각 액티비티는 activity_weight입니다.같은 쿼리에서 SUM과 DISTINCT를 사용합니다.
아래 예에서 Bob은 전화 50 점, 회의 100 점을 기록했습니다. James는 콜 100 점, 회의 100 점을 기록했습니다. 통화에 대한
- 탑 퍼포머 = 제임스 회의 = 밥, 제임스
- 최고의 출연자 :
userid activity_typeid activity_weight ------------------------------------------------------------ 123 (Bob) 8765 (calls) 50 123 (Bob) 8121 (meetings) 100 431 (James) 8765 (calls) 50 431 (James) 8121 (meetings) 100 431 (James) 8765 (calls) 50
나는 다음과 같은 출력을 수 있어야합니다.
나는 모르는activity_typeid의 사전에, 그들은 무작위로 입력, 그래서 각 DISTINCT/UNIQUE의 합계를 계산 쿼리의 일종을 구축 할 수있는 경우 궁금 해서요로 activity_typeid?
미리 감사드립니다.
왜 (James) (콜)이 당신의 테이블에 복제 되었습니까? – user4035
죄송합니다. 더 잘 설명해야합니다. 이 작업 (호출)이 수행 될 때마다이 테이블에 새 항목이 입력됩니다. 따라서 총 50 점이 추가됩니다. 그래서 그것은 말에 대해 중복되지 않습니다. – user2656127
제임스는 통화 = 50 + 50에 대해 100 포인트를 받았습니다. – user4035