【问题标题】:How can you divide the count of unique ids resulting from an inner join of two tables by the count of unique ids in just one of the tables如何将由两个表的内部连接产生的唯一 ID 计数除以其中一个表中的唯一 ID 计数
【发布时间】:2021-09-11 00:20:57
【问题描述】:

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

我有两张表,一张包含带有人口统计数据的成员主列表,另一张包含带有声明的成员列表。它们都有一个共同的 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 语句中的百分比数

【问题讨论】:

    标签: mysql sql mariadb


    【解决方案1】:

    怎么样

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

    【讨论】:

      【解决方案2】:

      假设claims表中的id都有效,可以使用:

      select (select count(distinct id) from claims) / (select count(distinct id) from demo) as ratio
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        • 2021-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多