2014-01-09 2 views
0

사용자가 특정 질문에 대한 답변을 저장하는 테이블이 있습니다.MySQL DB 레벨 선택

예를 들어

: 5 질문이 있습니다

  • 사용자 "A"대답 번호 1, 2, 3, 이들 5 개 질문 4, 1을 선택했습니다.
  • 사용자 "B"는이 5 가지 질문에 대해 대답 번호 1, 4, 2, 4, 1을 선택했습니다.
  • 사용자 "C"는이 5 가지 질문에 대해 대답 번호 1, 2, 4, 4, 1을 선택했습니다. 1, 4, 5 즉 3 개 같은 답변 :

사용자 "A"및 사용자 "B"는 숫자에 의문을 제기하는 같은 대답을 가지고있다.

사용자 "A"와 사용자 "C"는 질문 번호 1, 2, 4 및 5에 동일한 대답을 가지고 있습니다. 예. 4 개의 동일한 답변

mysql 쿼리는 다음과 같은 순서로 결과를 출력해야합니다.

  • 사용자 "C"- 4 개 일치
  • 사용자 "B"- 3 개 일치

출력은 먼저 최대 매칭 해답을 가져야한다.

데이터베이스 수준에서 가능합니까? 데이터베이스 수준에서이 작업을 수행하려는 이유는 프론트 엔드 쿼리에서 적어도 4 개의 일치하는 응답 또는 적어도 7 개의 일치하는 응답이있는 사용자를 선택하도록 요청하기 때문입니다. 엄청나게 많은 사용자가 있습니다.

데이터를 형식으로 저장하기 위해 새로운 데이터 구조를 만들면 이러한 계산이 가능해집니다.

제안 사항 및 지침을 기다리고 있습니다.

감사합니다.

정답과 같은 것은 없습니다. 각 대답은 정답 일 수 있습니다. 질문은 "어떤 색을 좋아합니까?"와 같을 것입니다. 모든 대답은 정확합니다. 한 사용자와 다른 모든 사용자 사이의 동일한 답변 수를 일치시켜야합니다. 결과는 일치 항목 수가 가장 많은 항목별로 정렬하려고합니다.

답변

0

답을 db에 저장할 때 나중에 레코드를 반환 할 때 정렬 할 수있는 정답 수 (예 : 4, 5 등)를 저장하는 추가 필드를 고려할 수 있습니다.

+0

정답과 비슷한 것은 없습니다. 각 답변은 "어느 색상을 좋아합니까?"와 같은 객관식 질문입니다. 같은 대답을 선택하는 사용자를 선택해야합니다. – user1058797

+0

선택한 답변에 별개의 관련 값이있는 경우이 값을 단일 값으로 저장하지 않는 이유는 무엇입니까? – user466764

+0

죄송합니다. 각 답변은 질문에 대한 정답입니다. 질문 자체는 "어떤 색을 좋아합니까?"와 같은 것입니다. 여기서 어떤 대답이라도 옳을 수 있습니다. 내가 여기서하려고하는 것은 같은 좋아요와 싫어하는 2 명의 사용자를 얻는 것입니다. 혼란을 드려 죄송합니다. – user1058797