Solving my query needs with Rank and may be CrossTab

From: Iaam Onkara <iamonkara(at)gmail(dot)com>
To: pgsql-sql(at)lists(dot)postgresql(dot)org
Subject: Solving my query needs with Rank and may be CrossTab
Date: 2019-12-01 22:54:02
Message-ID: CAMz9UCZFptR4zWdGm0sx2q0_p3K5CMYrPwKPtNP-6Lf_o576Qw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi Friends,

I have a table with data like this gist
https://gist.github.com/daya/d0794efcd4278fc5dce6e7339d03a8fd and I want to
fetch the latest values for a given set of attributes so the result set
looks like this gist
https://gist.github.com/daya/0cb7f8682520a1dd4cdda8c0266f77f6

Please note in the desired result set

1. There is an assumed mapping of Code to display i.e. code 39156-5 is
BMI.
2. "Oxygen Saturation" has only one value and "Pulse" has no value

In my attempts and with some help I have this query

with v_max as
(SELECT
code, uom, val, created_on, dense_rank() over ( partition by code order by
created_on desc) as r
FROM vitals v
where (v.code = '8480-6' or v.code='8462-4' or v.code='39156-5' or
v.code='8302-2')
)
SELECT c.display, uom, val, created_on
from v_max v inner join codes c on v.code=c.code
where r = 1;

which gives this result
<https://gist.github.com/daya/19ca22a837ed9998c117f38ff3cce3f2>

But the result set that I want
<https://gist.github.com/daya/0cb7f8682520a1dd4cdda8c0266f77f6> I am unable
to get. Or if is it even possible to get?

Thanks for your help

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rob Sargent 2019-12-01 23:28:29 Re: Solving my query needs with Rank and may be CrossTab
Previous Message Monalee Bhandge 2019-11-27 12:11:08 How to use Array in Array of Json