A mi sólo se me ocurre hacer 2 consultas. La primera para recuperar los ID del primer y el último registro y la segunda para obtener los datos de los 2 registros recuperados en la consulta 1.
Código PHP:
$primera = mysql_query("SELECT 1,id,max(id) as maximo,min(id) as minimo FROM tabla GROUP BY 1");
$segunda = mysql_query("SELECT * FROM tabla WHERE id IN (".mysql_result($primera, 0, "maximo").",".mysql_result($primera, 0, "minimo").")");