Мне нужно найти разницу в средних значениях веса пациентов при разных посещениях (моменты времени), но я изо всех сил пытаюсь найти «парные» средние значения:
У меня есть 1 таблица (PHYS), содержащая вес пациентов при разных посещениях:
PATIENT VISIT WEIGHT
1 Baseline 200
1 1 Month 190
1 2 Month 170
2 Baseline 300
2 1 Month 290
2 2 Month 280
3 Baseline 250
3 1 Month 230
Моя проблема в том, что я хочу найти разницу только для парных данных. Например, при расчете величины потери веса между 2-месячным и исходным визитами я хотел бы найти разницу между (средним 2-месячным весом) и (средним исходным весом ТОЛЬКО ДЛЯ ТЕХ ПАЦИЕНТОВ С 2-МЕСЯЧНЫМ ВЕСОМ). В этом примере результат должен быть AVG(170 280) - AVG(200 300) = -25 (поскольку только пациенты 1 и 2 имеют вес за 2 месяца).
Вот что у меня есть, но он вычисляет разницу на основе всех весов:
SELECT VISIT
AVG(WEIGHT)
-
(SELECT
AVG(WEIGHT)
FROM PHYS
WHERE VISIT = 'BASELINE')
FROM PHYS
GROUP BY VISIT
Мой желаемый результат был бы (я знаю, что мне нужно добавить ORDER BY
):
VISIT CHANGE FROM BASELINE
Baseline 0
1 Month -13.3
2 Month -25
Спасибо и извините за такой новый вопрос.