【问题标题】:Calculating Conditional Probabilities with SQL使用 SQL 计算条件概率
【发布时间】:2020-11-11 17:06:43
【问题描述】:

我有一个包含 11 列的表,我想计算其两列的条件概率,例如种族和收入。

Income is a  varchar(3) field and has values either "<50K" or ">50K". 
Race consists of three values such as "White", "Black" and "Asian". 

我要计算

P[Income = ">50K" | Race = X] for each race given above.

但是,我无法想出一条 SQL 语句来获取此信息。我想按种族分组并计算收入等于“> 50K”的地方,但这仅给出计数,我不知道如何将其除以同一查询中的条目总数。你能帮帮我吗?

【问题讨论】:

    标签: sql group-by probability


    【解决方案1】:

    你可以使用聚合:

    select race,
           avg(case when income = '>50K' then 1.0 else 0 end)
    from t
    group by race;
    

    【讨论】:

    • 谢谢!这个好整齐
    猜你喜欢
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    相关资源
    最近更新 更多