2011-11-14 2 views
4

정렬 된 집합을 사용하면 집합의 모든 점수의 평균, 중앙값, 최대 값, 최소값 등과 같이 "전역"값을 쉽게 계산할 수 있습니까? 나는 항상 점수를 추출하고 계산을 스스로해야합니다 (이것은 약간의 고통입니다 ...)?정렬 된 집합에 대한 "전체"계산

답변

1

쉬운 방법은 없습니다. 많은 집계 명령이 없습니다.

편집 : 편집을 수행해야하는 경우, 정렬 된 집합 (또는 다시 정렬)은 갈 길이 없습니다. 유스 케이스에 대해 자세히 설명해 주시겠습니까?

0

정렬 된 집합의 모든 점수의 합계로 다른 키를 추가 할 수 있습니다. 정렬 된 세트의 모든 삽입/업데이트/삭제에서 수동으로 (다중/exec에서) 수동으로 업데이트해야합니다. 그런 다음 ZCARD로 값을 구하여 평균을 구할 수 있습니다.

3

ZCARD 및 ZRANGE (물론 스코어와 함께)로 모든 작업을 수행 할 수 있습니다.

  • 분 : 인덱스에 ZRANGE 0
  • 최대 : 최대 인덱스에 ZRANGE (ZCARD 값)
  • 중간 : 당신은 총을 저장할 수 있습니다 : 중간 지수 (ZCARD/2)
  • 평균에 ZRANGE 다른 카운터에서 모든 점수를 뺀 다음 ZCARD 값으로 나누십시오.
관련 문제