У меня есть две таблицы, как показано ниже
Я пытался что-то вроде ниже
select person_id,
min(value),max(value),count(value),stddev(value)
percentile_cont(0.25) within group (order by value_as_number asc) as "25pc",
percentile_cont(0.75) within group (order by value_as_number asc) as "75pc"
from cdm.measurement
group by person_id
Если a person doesn't have a specific reading, the value should NA as shown in screenshot below
Я хотел бы сделать две вещи
1) Создать столько столбцов, сколько число чтений в таблице Readings
(имеет только уникальные идентификаторы). Например, если таблица Чтений имеет 800 идентификаторов чтения, у нас будет 800 * 6 = 4800 столбцов для человека . 6 is used here because of min,max,count,stddev,25th percentile,75 percentile
. Имя столбца будет R_name followed by 25%,75%,min,max etc
. Пример: Read_1_25%, Read_1_min
2) Если у человека нет каких-либо показаний, его значение для пропущенных показаний будет NA. например, `person_id = 1 имеет только чтение R1. Поэтому остальные столбцы 4794 (4800 - 6) будут иметь значение NA
Я ожидаю, что мой результат будет таким, как показано ниже. Поскольку изображение широко, пожалуйста, нажмите на изображение, чтобы увеличить его. Игнорируйте правильность значений на моем скриншоте. формат - это то, что я ищу твоей помощи