Como você está usando o Oracle, você deve poder usar o AVG() como uma função analítica (janela):
SELECT id, m_name AS "Mobile Name" cost AS Price, AVG(cost) OVER( ) AS Average
, cost - AVG(cost) OVER ( ) AS Difference
FROM mobile
Não há necessidade de subconsultas ou GROUP BY.