Poiché stai utilizzando Oracle, dovresti essere in grado di utilizzare AVG() come funzione analitica (finestra):
SELECT id, m_name AS "Mobile Name" cost AS Price, AVG(cost) OVER( ) AS Average
, cost - AVG(cost) OVER ( ) AS Difference
FROM mobile
Non c'è bisogno di sottoquery o GROUP BY.