我有一張表,其中包含測試銀行每兩個問題的相似度。 MySQL刪除行ORDER BY COUNT DESC
這意味着question_id 6
與question_id 10
有84%的相似度。 還有12個類似question_id 6
的問題。
我只是最相關的問題,或前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
)
但錯誤信息是:
[錯誤] 1055 - SELECT列表中的表達#1是不是在GROUP BY子句 和包含非聚集列'den.exam_relatedquestion.id',其中 在功能上不依賴於GROUP BY子句中的列;這是 用的sql_mode不相容= only_full_group_by
如何刪除不屬於前7相關問題的任何行?
:
在任何情況下,你可以使用變量來枚舉的問題,然後用
join
? –@TimBiegeleisen我希望通過'from_question_id_id'在組中查看問題,然後保留與之相關的頂部。但我不知道什麼是正確的方法。 – Aaron