SELECT tab1.id, tab1.title, tab1.ripped
FROM discs AS tab1
WHERE tab1.id IN
(
SELECT MAX(tab2.id)
FROM discs AS tab2
WHERE tab2.ripped = "selbt gerippt"
GROUP BY tab2.title
)das gibt dir erst einmal einen datensatz pro titel der gerippt wurde. nun musst du das ganze nur noch mit UNION verbinden, bei den titel, die keine gerippte version haben. aber ich weiß nicht, nach welchen kriterien du da eine auswahl treffen willst.
Mh, dann dürfte ich im zweiten SELECT nur noch die Datensatz-Gruppierungen betrachten, in denen _alle_ Datensätze den Wert "nicht selbst gerippt" in "ripped" haben. Gibt es so eine Klausel im Sinne von
GROUP BY x
HAVING ALL y = "not self ripped"
?
Greets, *jiriki*