se ho capito bene in caso di duplicato vuoi cancellare il "FAIL" e non il "PASS" ? in questo caso puoi avere la seguente query:
delete t2 from my_table1 as t1, my_table1 as t2 where
t1.TestCase = t2.TestCase and t2.id != t1.id and t2.Result='FAIL';
ma cosa vuoi fare quando tutti i duplicati hanno "FAIL" nel risultato della colonna? Con la query sopra, entrambi verranno rimossi. Vuoi tenerne uno in questo caso?