Тъй като mysql няма поддръжка за прозоречни функции, трябва да създадем собствено групово класиране за вашата таблица и след това друга заявка, за да оперираме с резултатите.
select if(count(transaction) = 1, transaction, concat(min(transaction), '-', max(transaction))) transactions, sum(price) price
from (
select if(`transaction` = @prev + 1,
if(@prev := `transaction`, @rank, @rank),
if(@prev := `transaction`, @rank := @rank + 1, @rank := @rank + 1)
) gr,
`transaction`,
price
from table1, (select @rank := 1, @prev := 0) q
order by `transaction` asc
) q
group by gr