ho risolto solo in parte
allora la query che faccio ora è la seguente:

SELECT SQL_CALC_FOUND_ROWS a.id AS idEvent, a.id_nomeArea_fk, a.titolo, a.abstract, a.testo, a.link, a.linkNome, a.inizio, a.fine, ad.mese, af.image AS image
FROM appuntamento_date AS ad
LEFT JOIN appuntamento AS a ON a.id = ad.id_appuntamento_fk
JOIN appuntamento_foto AS af ON ad.id_appuntamento_fk = af.appuntamento_id_fk
WHERE id_nomeArea_fk =1
AND fine & >
=20080612 ORDER BY a.inizio, a.fine, ad.mese ASC LIMIT 0 , 30

il risultato è nell'immagine allegata:


quello che io voglio è che invece di esserci 6 record ce ne siano solo 2, perche nel campo mese se noti, effettivamente ci sono solo 2 mesi, giugno(6) e luglio(7)
attualmente mi fa sei record perche ci sono 3 immagini per quell'evento, distribuito su 2 mesi, quindi giustamente 3*2 = 6 record!
a me nn interessa che immagine prende, ma voglio che ne esca una a caso.. ma solo 1 record per mese!