CREATE VIEW IF NOT EXISTS v_animals_weight_trend AS
SELECT
  a.id AS animal_id,

  (SELECT m.value
   FROM measurements m
   WHERE m.animal_id = a.id AND m.type = 'weight'
   ORDER BY datetime(m.measured_at) DESC
   LIMIT 1) AS last_weight,

  (SELECT m.value
   FROM measurements m
   WHERE m.animal_id = a.id AND m.type = 'weight'
   ORDER BY datetime(m.measured_at) DESC
   LIMIT 1 OFFSET 1) AS prev_weight
FROM animals a;
