合并SQL行(添加百分比)

问题描述 投票:0回答:1

我是绝对的SQL新手,但老板要求我对仪表板(元数据库->数据实验室)的查询进行一些更新

我的表很简单,但是我在这里找到的所有答案都在合并不适用的空值,因此我不确定它们是否正确。

WITH c as (
  SELECT "institution", count(*) as cnt 
  FROM "public"."students" 
  WHERE "institution" IS NOT NULL 
  AND "institution" != ''
)
SELECT institution, 100.0*cnt/(SELECT sum(cnt) FROM c) AS percent 
FROM c 
ORDER BY percent 
DESC LIMIT 10;

表是从代码生成并产生以下结果:

institute     | percent
uniA          | 12.95
uniA (UNIA)   |  4.3 

这两行实际上是同一研究所,但是来自我们数据库的不同版本,因此具有不同的名称。我想合并行并以17.25的总计百分比结束]

sql
1个回答
0
投票

您可以将case与聚合一起使用:

© www.soinside.com 2019 - 2024. All rights reserved.