30 lines
625 B
SQL
30 lines
625 B
SQL
DROP VIEW IF EXISTS v_animals_weight_trend;
|
|
|
|
CREATE VIEW 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 m.id DESC
|
|
LIMIT 1
|
|
) AS last_weight,
|
|
|
|
(
|
|
SELECT m2.value
|
|
FROM measurements m2
|
|
WHERE m2.animal_id = a.id
|
|
AND m2.type='weight'
|
|
AND m2.value != (
|
|
SELECT m3.value
|
|
FROM measurements m3
|
|
WHERE m3.animal_id = a.id AND m3.type='weight'
|
|
ORDER BY m3.id DESC
|
|
LIMIT 1
|
|
)
|
|
ORDER BY m2.id DESC
|
|
LIMIT 1
|
|
) AS prev_weight
|
|
FROM animals a;
|