У меня есть таблица с несколькими вхождениями одного и того же идентификатора животного в разные даты.
tableA
+-----------+------------+
| animalid | calvdate |
+-----------+------------+
| A | 2018-08-30 |
| B | 2018-08-30 |
| A | 2018-09-10 |
| C | 2018-08-30 |
| A | 2019-08-30 |
+-----------+------------+
Я хочу создать таблицу, которая рассчитывает количество дней с момента последней записанной даты животного
expected output
+-----------+------------+--------------+
| animalid | calvdate | NumberOfDays |
+-----------+------------+--------------+
| A | 2018-08-30 | 0 |
| A | 2018-09-10 | 11 |
| A | 2019-08-30 | 355 |
| B | 2018-08-30 | 0 |
| C | 2018-08-30 | 0 |
+-----------+------------+--------------+
Я пытался использовать следующий запрос:
SELECT
animalid,
calvdate, TO_DAYS(x.calvdate)-TO_DAYS(calvdate) AS NumberOfDays,
(SELECT calvdate FROM tableA as x WHERE animalid = animalid ORDER BY asc)
FROM
tableA
Как мне сгенерировать ожидаемый результат?