【问题标题】:SQL: count when value in one column appears in same row as another value from different column [duplicate]SQL:当一列中的值与来自不同列的另一个值出现在同一行时计数[重复]
【发布时间】:2019-09-22 09:09:19
【问题描述】:

使用以下数据集,我想找到平均比率,同时计算 Condition 和 Intervention 中的值一起在同一行中的次数。

这是我正在使用的表格的示例:

Condition | Intervention | Rate of Subjects Affected
-----------------------------------------------------
Anxiety   | Drug         | 0.02
Anxiety   | Behavioral   | 0.05
Anxiety   | Drug         | 0.001
Depression| Other        | 0.7
Depression| Other        | 0.8

我想创建一个查询,它只计算焦虑/药物对一次,并找到它收集的两个比率的平均值(0.02 和 0.001)

这是我希望的结果:

Condition | Intervention | Rate of Subjects Affected
-----------------------------------------------------
Anxiety   | Drug         | 0.0105
Anxiety   | Behavioral   | 0.05
Depression| Other        | 0.75

如果您对此有任何想法,请告诉我!

【问题讨论】:

  • 您是否真的打算将其标记为 [pandas]?
  • 是的,我在 sql 和 pandas 数据框中都有表。任何一个答案都可以

标签: mysql sql pandas


【解决方案1】:

使用AVG()聚合函数,可以得到预期的结果

SELECT Condition, Intervention, AVG(`Rate of Subjects Affected`) AS Rate
FROM TableName
GROUP BY Condition, Intervention

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 2018-04-02
    • 1970-01-01
    相关资源
    最近更新 更多