Como está usando Oracle, debería poder usar AVG() como una función analítica (ventana):
SELECT id, m_name AS "Mobile Name" cost AS Price, AVG(cost) OVER( ) AS Average
, cost - AVG(cost) OVER ( ) AS Difference
FROM mobile
No hay necesidad de subconsultas o GROUP BY.