Użyj wyników z jednego zapytania sql w innej instrukcji where (podzapytanie?)

Widzę wiele podobnych pytań, ale albo są one tak złożone, że nie mogę ich zrozumieć, albo nie wydają się zadawać tego samego.

To proste: mam dwie kolumny: użytkownicy (dmid) i pliki do pobrania (dfid).

Wybierz wszystkich użytkowników, którzy pobrali określony plik:

SELECT DISTINCT dmid FROM downloads_downloads where dfid = "7024"

Korzystając z powyższych użytkowników, znajdź wszystkie pobrane pliki:

SELECT dfid from downloads_downloads WHERE dmid = {user ids from #1 above}

Policz i zamów wyniki dfid, abyśmy mogli zobaczyć, ile pobrań otrzymali każdy plik:

dfid    dl_count_field
----    --------------
18       103
3        77
903      66

Moja próba odpowiedzi.

Wydaje się to bliskie, ale MySql nie działa i nie odpowiada nawet po 30 sekundach - w końcu restartuję Apache. I nie mam teraz pojęcia, jak ułożyć liczbę i porządek bez otrzymywania błędów składniowych z powodu złożonej instrukcji - i może to być nawet niewłaściwe stwierdzenie.

SELECT dfid from downloads_downloads WHERE dmid IN (
    SELECT DISTINCT dmid FROM `downloads_downloads` where dfid = "7024")

questionAnswers(1)

yourAnswerToTheQuestion