Casi todas las bases de datos tienen una columna "GENERADA" que puedes utilizar para numerar las filas obtenidas, o bien, funciones "WINDOW" que hacen esta función:
Esto funcionaria en PostgreSQL (versión 8.4 y superior):
Código SQL
[-]DELETE FROM
(
SELECT ROW_NUMBER AS NUMLINEA, A.* FROM TABLA A
WHERE
NOMBRE = 'JUAN'
AND NUMERO = 500
ORDER BY ROWNUM
)
WHERE NUMLINEA = 1
Sustituyendo ROW_NUMBER por ROWNUM, funcionaría también en ORACLE (desde la versión 8, si no recuerdo mal).
(*) Cuidado, no está testeado.
Saludos.