Use resultados de uma consulta sql em outra instrução where (subconsulta?)
Eu vejo muitas perguntas semelhantes, mas elas são tão complexas que não consigo entendê-las, ou elas não parecem estar perguntando a mesma coisa.
É simples: tenho duas colunas: users (dmid) e downloads (dfid).
Selecione todos os usuários que baixaram um arquivo específico:
SELECT DISTINCT dmid FROM downloads_downloads where dfid = "7024"
Usando os usuários acima, encontre todos os arquivos que eles baixaram:
SELECT dfid from downloads_downloads WHERE dmid = {user ids from #1 above}
Conte e ordene os resultados do dfid, para que possamos ver quantos downloads cada arquivo recebeu:
dfid dl_count_field
---- --------------
18 103
3 77
903 66
Minha tentativa de responder.
Isso parece próximo, mas o MySql fica parado e não responde mesmo após 30 segundos - eu reinicio o Apache eventualmente. E agora eu não sei como estruturar a contagem e a ordem sem obter erros de sintaxe por causa da declaração complexa - e pode nem mesmo ser a declaração correta.
SELECT dfid from downloads_downloads WHERE dmid IN (
SELECT DISTINCT dmid FROM `downloads_downloads` where dfid = "7024")