Como limitar um resultado em varias tabelas (join) mysql

Olá a todos, tenho algumas tabelas e queria saber com fazer uma consulta validando por todas, tipo tenho as seguintes tabelas:
categorias (lista de categorias existentes para cada postagem)
postagens (as postagens)
midias (caminhos de midias)
postagens_midias (ligação n para n das midias com as postagens)

dai quero pegar as 4 ultimas postagens com 1 imagem da tabela midia que esteja relacionada a postagem (postagens_midias) somente de uma categoria

tentei o seguinte:

select p.*, m.caminho_midia from postagens p
join postagens_midias pm on p.id_postagens = pm.fk_postagens
join midias m on m.id_midias = pm.fk_midias
where p.categ_postagens = 1 order by p.id_postagens DESC;

mas me retorna varias linhas com a mesma postagem com todas as midias, nao sei como limitar a midia em apenas 1