Ho caricato un SQLfiddle qui:http://sqlfiddle.com/#!2/5349a/1 Tuttavia, nei tuoi dati di esempio, avevi due ID=5. L'ho reso unico. Inoltre, i miei dati SQLFiddle non corrispondono più ai tuoi poiché ho modificato alcuni valori per assicurarmi che funzionasse. Divertiti :) (Funziona guardando il valore ID più grande per la sequenza)
Prova questo:
SELECT COUNT(*)
FROM (
SELECT Subject, MAX(ID) AS idlimit
FROM t
GROUP BY Subject
ORDER BY MAX(ID) DESC
LIMIT 1,1) as Temp
JOIN t
ON Temp.idlimit < t.id