wenn man ein GROUP BY macht, bezieht sich das ORDER BY auf die gruppierten daten!
also das ORDER BY passiert zu spät. es geht so nicht.
und im WHERE clause kann man nicht auf aggregate zugreifen, dafür gibt es das
HAVING, das passiert aber wiederum (eben deswegen) erst nach der gruppierung.
der punkt ist, dass man der datenbank nicht sagen kann, gruppiere mit folgenden
regeln, z.b. gruppiere bei foto.id immer die höchste id. keine ahnung, ob das nur
bei MySQL so ist oder auch bei anderen datenbanken, aber ich denke schon; ich
kenne auch keine sql-syntax, die sowas bieten würde.
du musst also erst jeweils die max(id) holen und dann in einem zweiten select die
fotos selektieren. evtl. geht das ja mit einem subselect.