sql - 调查问题的加权平均值
问题描述
我必须计算所有问题的加权平均值。
假设调查中有 22 个问题,其中有 1、2、3、4、5 和 NA 5 个选项。
例如,
3 人参加了调查(全部 22 个问题)
假设有 10 个 NA 响应(合并所有 3 个)。
所以,分母是:22*3 - 10 = 56
分子为:1*X1 + 2*X2 + 3*X3 + 4*X4 + 5*X5,其中,X1 + X2 + X3 + X4 + X5 = 56
如何在 SQL 中实现?
解决方案
你似乎在描述类似的东西:
select avg(case when r.response = '1' then 1
when r.response = '2' then 2
when r.response = '3' then 3
when r.response = '4' then 4
when r.response = '5' then 5
end)
from responses r
where r.response <> 'N/A'
推荐阅读
- node.js - 用一个后端 Nodejs 运行两个源前端 Reactjs
- asp.net-core - 使用当前版本的 System.Text.Json.JsonSerializer 序列化 DataSet
- php - laravel 使用 ajax 重定向
- ios - 带有 Parse 平台的 iOS 推送通知 - didRegisterForRemoteNotificationsWithDeviceToken - 从未调用
- java - 使用存储过程从输入 csv 文件将多个表创建到 oracle 数据库中
- javascript - 如何存储每个 Http 请求的变量
- android - Android Jetpack 递归导航
- mysql - 将 JMeter 的结果发送到 MySql DB
- ios - 在核心数据中保存新实体时如何创建非可选实体?
- r - R Studio:抓取表格时下标越界