Вы можете самостоятельно присоединиться к таблице и использовать агрегацию:
SELECT p.name, p.price, COALESCE(COUNT(p1.name), 0) cnt
FROM pc p
LEFT JOIN pc p1 ON p1.price > p.price
GROUP BY p.name, p.price
В MySQL 8.0 вы также используете оконные функции, которые обычно более эффективны, чем агрегация или коррелированные подзапросы:
SELECT
p.name,
p.price,
RANK() OVER(ORDER BY price DESC) - 1 rn
FROM pc p