Я полагаю, что вы запрашиваете, чтобы запрос нашел fid, связанный со ВСЕМИ значениями 20,23,53, а если нет, то этот fid не возвращается запросом.
Существует два распространенных решения этой проблемы в SQL.
Первый, который я рекомендую для MySQL:
SELECT t1.fid
FROM mytable t1
JOIN mytable t2 ON t1.fid = t2.fid
JOIN mytable t3 ON t1.fid = t2.fid
WHERE (t1.id, t2.id, t3.id) = (20,23,53);
Вот еще одно решение, которое использует group by вместо самообъединений, но имеет тенденцию работать хуже в MySQL:
SELECT t.fid
FROM mytable t
WHERE t.id IN (20,23,53)
GROUP BY t.fid
HAVING COUNT(*) = 3;