테스트 뱅크의 두 가지 질문의 유사성을 포함하는 테이블이 있습니다. MySQL DELETE 행 ORDER BY COUNT DESC
이 question_id 6
유사한 84 %가 10
question_id을 의미하는 것이다. 그리고 question_id 6
과 비슷한 질문이 12 개 있습니다.
가장 관련있는 질문 또는 상위 7 개 관련 질문.
내가 Mysql delete order by 본과 시도 :
DELETE FROM exam_relatedquestion
WHERE
`exam_relatedquestion`.id IN (
SELECT
`exam_relatedquestion`.id
FROM
(
SELECT `exam_relatedquestion`.id
FROM `exam_relatedquestion`
GROUP BY
`exam_relatedquestion`.from_question_id_id
ORDER BY
`exam_relatedquestion`.similarity DESC
LIMIT 7
) a
)
그러나 오류 메시지는 다음과 같습니다
[ERR] 1055 - SELECT 목록의 발현 # 1 절 에 의해 그룹에서하지 않고 이 기능적으로 GROUP BY 절의 열에 종속되지 않는 비 집계 된 열 'den.exam_relatedquestion.id'를 포함합니다. 이
ONLY_FULL_GROUP_BY 어떻게 질문의 7 대 관련이없는 모든 행을 삭제할 수 = sql_mode와 호환되지?
을 : 어떤 경우에
, 당신은
join
을 사용하여 다음 질문을 열거 변수를 사용 할 수 있습니까? –@TimBiegeleisen 그룹에서 'from_question_id_id'로 질문을보고 관련성이 높은 상위 항목을 보존하고 싶습니다. 그러나 나는 올바른 방법이 무엇인지 모른다. – Aaron