Сгруппировать и найти разницу сумм sql та же таблица - PullRequest
0 голосов
/ 16 июня 2020

У меня есть таблица, подобная этой ниже:

enter image description here

И мне нужен результат вроде: суммируйте группу сумм по дате и найдите разницу между результат

enter image description here

1 Ответ

0 голосов
/ 16 июня 2020

Если вы используете MySQL 8.0, вы можете использовать lag() для достижения ожидаемого результата.

select
    date,
    amount,
    coalesce((amount - last_val), amount) as diff
from
(
  select
      date,
      amount,
      lag(amount) over (order by date) as last_val
  from
  (
      select
          date,
          sum(amount) as amount
      from myTable
      group by
          date
  ) subq
) subo
order by
    date
...