我有一个显示不同行和列的表。我想要该表中的数据集。但我完全没有想到它。所以我正在显示我的表和该表的结果...请帮我创建查询以生成该结果。先谢谢,我正在展示我的表格
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
现在结果为
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
在每个病房中进行实体计数(再次询问::我有一个显示不同行和列的表。我想要一个来自该表的数据集。但我不知道如何制作它。所以我正在显示我的表和该表的结果..请帮我制作一个查询来生成结果。首先感谢我展示我的表格。
答案 0 :(得分:1)
根据你的评论,我认为会有固定数量的病房。因为我们没有处理动态数量的病房,所以下面的代码应该适合你。
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