Объеденить два запроса SQL для одной таблицы
Подскажите пожалуйся, а то уже два часа гуглю, уже такая каша в голове. есть таблица wordsResultCheck, в ней четыре поля int: id, idLink, idCat, idWord
Мне нужно сначала вытащить 10 самых частых idLink
SELECT idLink
FROM `wordsResultCheck`
GROUP BY idLink
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC LIMIT 10
А потом получить все записи из этой же таблицы у которых есть эти idLink. Пока самое близкое к результату:
SELECT *
FROM `wordsResultCheck` as t1
INNER JOIN ( SELECT idLink
FROM `wordsResultCheck`
GROUP BY idLink
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC LIMIT 10 ) as t2 ON t1.idLink = t2.idLink
ORDER BY t1.idLink DESC
Но почему то не получаются все записи, только часть и явно не те idLink что получаются если сделать запрос только что в скобках.
Не могу использовать оператор IN потому что мне нужно именно 10 самых популярных idLink, а SQL пишет ошибку что нельзя использовать LIMIT в IN.