Именно две или первая нужна постольку поскольку нужно поле mytarget из нее?
Если важен только последний запрос, можно сделать так
SELECT result
FROM mydata
WHERE id < '127' AND mytarget = (SELECT mytarget FROM mydata WHERE id = '127')
ORDER BY id DESC
LIMIT 1
Если же нужны именно обе строки, тогда UNION
SELECT result, mytarget
FROM mydata
WHERE id = '127'
UNION
SELECT result, mytarget
FROM mydata
WHERE id < '127' AND mytarget = (SELECT mytarget FROM mydata WHERE id = '127')
ORDER BY id DESC
LIMIT 1
Насчет быстрее, сказать трудно; но обычно два запроса выполняются дольше одного, пусть и сложного.