Объеденить два запроса 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.


Ответы (0 шт):