Найдите все пары часто встречающихся слов, встречающихся в одном и том же идентификаторе документа, и укажите количество документов, в которых встречается пара. Сообщите пары в порядке убывания частоты.
- Обратите внимание, что не должно быть никаких реплицированных записей, таких как
o (грузовик, лодка) (грузовик, лодка)
- Обратите внимание, что одна и та же пара не должна встречаться дважды в противоположном порядке. Только один
должно произойти следующее:
o (грузовик, лодка) (лодка, грузовик)
+-------+-----+-----+---------+
|vocabId|docId|count| word|
+-------+-----+-----+---------+
| 1| 1| 1000| plane|
| 1| 3| 100| plane|
| 3| 1| 1200|motorbike|
| 3| 2| 702|motorbike|
| 3| 3| 600|motorbike|
| 5| 3| 2000| boat|
| 5| 2| 200| boat|
+-------+-----+-----+---------+
Я использовал этот запрос, но он дает неправильный результат
select r1.word,r2.word, count(*)
from result_T r1
JOIN result_T r2 ON r1.docId = r2.docId
and r1.word = r2.word group by r1.word, r2.word
Ожидаемый выход:
boat, motorbike, 2
motorbike, plane, 2
boat, plane, 1