두 가지 유형의 사용자, 일반 사이트 멤버 및 심사 위원이있는 컨테스트 사이트에서 작업하고 있습니다. 각자는 드래그 앤 드롭 도구를 사용하여 특정 컨테스트의 항목을 선택한 순서대로 정렬 할 수 있습니다. 작업이 완료되면 관련 엔트리 ID가 첨부 된 순위 값을 사용하여 컨테스트에서 가장 높은 평균 점수를 얻은 항목을 결정하는 데 사용할 수 있습니다. 승자는 실제로 각 그룹의 평균을 평균하여 결정됩니다.MySQL은 평균 두 개의 평균으로 정렬합니다.
제목이있는 특정 컨테스트의 각 항목을 보여주는 표가 끝나면 해당 항목에 대해 avg_normal, 해당 항목에 대해 avg_judge, 그 다음 두 값이 함께 추가 된 3 개의 값이 표시됩니다. avg_normal과 avg_judge는 각각 avg_all의 50 %를 차지합니다. 마지막으로 avg_all로 테이블을 정렬하십시오.
avg_all = ((avg_normal avg_judge +)/2)
그들은 순서 entry_ids 1, 2, 3, 4, 5를 주문한다. 그래서 0 = 100 포인트의 엔트리 순위 = 90 1 = 80 (2), (3),
entry_id, entry_ranking, author_id
1, 0, 1
2, 1, 1
3, 2, 1
4, 3, 1
5, 4, 1
I는 1-100의 규모에 평균 결정하기 바라고 : 순위 값이므로 0에서 시작 = 70, 아무것도 위의 4 = 5 점
각 사용자가 다른 테이블에서 그룹에 부착, 그래서 그들은 일반 사용자, 또는
내가 쿼리를 쓸 수 있기를 원하는 판사 중 하나입니다된다 발견 수
1) 평균 NORMAL 사용자 투표 점수
2) 평균 JUDGE 사용자 투표 점수
3) 평균 평균 & 판정 점수.
그래서 일반 사용자 평균 = 93.3333, 판사의 평균 = 70, 아래의 답변에 81.66665
감사 총 평균 =이 두 쿼리는 챔피언처럼 작동합니다.
여기 당신의 도움을 주셔서 감사 작업의 대부분을 가지고, 원래 쿼리를 포장 않습니다, 이것은 걸음 더 가까이 확실히이다. 내가 충분히 명확한 지 모르겠다. 내가 원하는 것은 특정 콘테스트의 각 항목을 제목과 함께 보여주는 표로 끝난 다음 해당 항목에 대해 avg_normal, 해당 항목에 대해 avg_judge, 그 다음 두 값을 더하고 나누어 3 개의 값을 표시하는 것입니다. 2, 그래서 avg_normal과 avg_normal은 각각 avg_all의 50 %를 차지합니다. 마지막으로 avg_all로 테이블을 정렬하십시오. avg_all = ((avg_normal + avg_judge)/2) 더 명확합니까? 제공 할 수있는 통찰력을 가져 주셔서 대단히 감사합니다. – noahkuhn
쿼리가 업데이트되었습니다. 희망이 당신이 원하는 것입니다. – lins314159
가까이, 나는 다음과 같은 오류가 발생합니다 : (# 1054 - '필드 목록'에서 알 수없는 열 'avg_normal'). 원래 질문에 내 최신 쿼리를 적절한 값 – noahkuhn