【问题标题】:SQL calculate percentage from calculated columnSQL从计算列计算百分比
【发布时间】:2023-02-01 19:42:16
【问题描述】:

我有一个包含多列的表,但是我需要根据 2 列计算总百分比。

第 1 列具有唯一标识符(数字,即 15211、36521、45987 等) 第 2 列有一个“Y”或空白(标准内置于 DWH)

我想要做的是使用第 1 列作为分母获得仅 Y 字段的第 2 列的百分比

Column 1 Column 2
25638 y
69857 n
78561 n
23149 y

基于上面的例子,我期望 2/4 = 0.50 或 50%

【问题讨论】:

    标签: sql percentage


    【解决方案1】:

    计算百分比的公式为:

    Percentage = (Number of "Y" values in Column 2 / Total number of unique identifiers in Column 1) * 100
    

    在您的示例中,第 2 列中“Y”值的数量为 2,第 1 列中唯一标识符的总数为 4,因此百分比为:

    Percentage = (2 / 4) * 100 = 50%
    

    要在电子表格或编程语言中实现这一点,您需要计算第 2 列中“Y”值的数量和第 1 列中唯一标识符的总数,然后使用上面的公式计算百分比。

    【讨论】:

    • 我知道算术..我无法让它在 SQL 中工作
    【解决方案2】:

    您可以将 Column2 = 'Y' 的条件聚合结果和总计数相除。

    SELECT COUNT(CASE WHEN Column2 = 'y' THEN 1 END) / COUNT(*)
    FROM tab
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-11
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      相关资源
      最近更新 更多