나는 테이블과 같이이 :이 특정 (예를 들어,이 결과를 원하는롤업 열 (SQL) 제 1
object_id | vote
1 | 2
1 | -1
1 | 5
2 | 3
2 | 1
3 | 4
3 | -2
, 1 object_id에, 2는 그룹의 일부, 다른 곳에서 정의 된 여기
object_id | normalized_score
1 | 6/10
2 | 4/10
[추가 오후 3시 5분] (10) 투표의 합계이다. 그리고 나는 합은 항상 1 OBJECT_ID (3)가 사용되지 않은 그룹의 일부입니다 = 있도록)를 normalized_score을 찾고 있어요 object_id in (1,2). (1,2)가 나오기위한 또 다른 논리가 있습니다. 사람들이 그 부분에 대해 걱정할 필요가 없도록 가장 깨끗한 질문을하려고했습니다.
[added 3:10 PM] 의견에서 지적한 바와 같이, 개체 중 하나에 대한 점수가 0 미만이면 문제가 발생합니다. "임의의 outcome_id에 대한 점수가 -x이고 최소 점수 인 경우 최소 점수를 제로화하기 위해 모든 점수에 x를 추가하십시오."규칙이 있습니다. 나는 SQL의 외부에서 자신의 시간에 이것을 할 수있다 - 누군가가 SQL에서 그것을 다루려고 노력할 때만 보너스가된다.
내가 자기 조인을하면 합계를 얻을 수 있습니다. 정규화 된 합계를 얻는 방법을 알 수 없습니다. 이상적으로 이것은 MySQL 5.x 및 Sqlite3 모두에서 작동합니다. 그렇지 않으면 두 개의 별도 쿼리로이 작업을 수행 할 수 있으며 후 처리 작업 만 수행하면됩니다.
여기서 "10"은 어디로 들어 옵니까? –
투표가 10이 아닌 것으로 예상되는 경우 어떻게하면 부정 투표를 허용 할 수 있습니까? –
죄송합니다. 10은 (1,2)에 object_id가있는 투표의 합계입니다. 질문을 업데이트하겠습니다. –