Некоторые другие подходы заключаются в использовании пользовательских переменных MySQL или самостоятельном левом соединении.
Решение пользовательских переменных MySQL
Запрос
SELECT
SUM(prices.Price)
FROM (
SELECT
prices.Price
, CASE
WHEN @id != prices.id
THEN 1
ELSE 0
END AS isMinGroupValue
, (@id := prices.id)
FROM
prices
CROSS JOIN (
SELECT
@id := 0
) AS init_user_params
ORDER BY
prices.ID ASC
, prices.price ASC
) AS prices
WHERE
prices.isMinGroupValue = 1
см. Демонстрацию https://www.db -fiddle.com / f / nzWqMQAxd7mvq589R7WuZ8 / 0
Самостоятельное решение для левого соединения
Запрос
SELECT
SUM(prices1.Price)
FROM
prices prices1
LEFT JOIN
prices prices2
ON
prices1.ID = prices2.ID
AND
prices1.price > prices2.price
WHERE
prices2.ID IS NULL
см. Демонстрацию https://www.db -fiddle.com / f / nzWqMQAxd7mvq589R7WuZ8 / 1