首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgres查询,用于从给定表生成所需的数据集

postgres查询,用于从给定表生成所需的数据集
EN

Stack Overflow用户
提问于 2017-09-03 00:38:30
回答 1查看 35关注 0票数 0

我有一个表格,其中显示不同的行和列。我想要该表中的数据集。但是我没有任何想法去做它。所以我展示了我的表格和来自该表格的结果。请帮助我进行查询以生成该结果。谢谢,我先展示我的桌子。

代码语言:javascript
复制
UC_Name   |   Word_No   |   entity
 UC-1     -    w-1      -     a
 UC-1     -    w-2      -     a
 UC-1     -    w-3      -     a
 UC-2     -    w-1      -     a
 UC-2     -    w-2      -     a
 UC-2     -    w-2      -     b
 UC-1     -    w-1      -     a
 UC-3     -    w-3      -     b
 UC-4     -    w-2      -     c

现在结果为

代码语言:javascript
复制
UC-Name    |    w-1     |     w-2    |    w-3

UC-1       -    2       -     1      -    1
UC-2       -    1       -     2      -    0
UC-3       -    0       -     0      -    1
UC-4       -    0       -     1      -    0

实际上,我想要根据UC-Name计算每个病区的实体数

(再次询问::我有一个显示不同行和列的表。我想要该表中的数据集。但是我没有任何想法去做它。所以我展示了我的表格和来自该表格的结果。请帮助我进行查询以生成该结果。首先,谢谢,我展示了我的桌子)

EN

回答 1

Stack Overflow用户

发布于 2017-09-03 11:25:05

从你的评论中,我假设会有固定数量的病房。因此,由于我们处理的不是动态数量的wards,下面的代码应该适用于您。

代码语言:javascript
复制
SELECT uc_name
    ,sum(CASE word_no WHEN 'w-1' THEN 1 ELSE 0 END) AS "w-1"
    ,sum(CASE word_no WHEN 'w-2' THEN 1 ELSE 0 END) AS "w-2"
    ,sum(CASE word_no WHEN 'w-3' THEN 1 ELSE 0 END) AS "w-3"
    ,sum(CASE word_no WHEN 'w-4' THEN 1 ELSE 0 END) AS "w-4"
    ,sum(CASE word_no WHEN 'w-5' THEN 1 ELSE 0 END) AS "w-5"
    ,sum(CASE word_no WHEN 'w-6' THEN 1 ELSE 0 END) AS "w-6"
FROM public.table01
GROUP BY uc_name

-HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46015951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档