简体   繁体   English

CROSSTAB 和 PIVOT

[英]CROSSTAB and PIVOT

I have the following table -我有下表 -

org_id  et  rt         level     diagnosis   count
9453    2   AGENCY     SERVICE   MMTA    18
9453    1   PHYSICIAN  SERVICE   M_WOUND     5
9453    1   REFERRER   SERVICE   M_WOUND 5
9453    1   REFERRER   SERVICE   N_WOUND 5

How do I pivot this table such that -我如何 pivot 这个表这样 -

org_id  et  rt         level     MMTA  M_WOUND   N_WOUND
9453    2   AGENCY     SERVICE   18   
9453    1   PHYSICIAN  SERVICE         5
9453    1   REFERRER   SERVICE   0     5         5

You can use conditional aggregation:您可以使用条件聚合:

select org_id, et, rt, level,
       max(count) filter (where diagnosis = 'MMTA') as mmta,
       max(count) filter (where diagnosis = 'M_WOUND') as m_wound,
       max(count) filter (where diagnosis = 'N_WOUND') as n_wound
from t
group by org_id, et, rt, level;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM