首页 > 解决方案 > 如何将由两个表的内部连接产生的唯一 ID 计数除以其中一个表中的唯一 ID 计数

问题描述

这个问题似乎应该很简单,所以我确信之前一定有人问过它,但我搜索并找不到答案。

我有两张表,一张包含带有人口统计数据的成员主列表,另一个包含带有声明的成员列表。它们都有一个共同的 ID 字段。我需要能够在单个 SQL 语句(我使用 MariaDB 和 SQLite)中计算人口统计表中具有一个或多个声明的唯一成员占人口统计表中唯一成员总数的百分比。

本质上,我需要能够:

select count (distinct demo.ID) 
from demo 
inner join claims on demo.ID = claims.ID

除以

select count (distinct ID)
from demo

但将其计算为单个 SQL 语句中的百分比数字

标签: mysqlsqlmariadb

解决方案


刚刚怎么样

select count(distinct demo.ID) / (select count (distinct ID) from demo)
from demo
join claims on demo.ID = claims.ID

推荐阅读