gpt4 book ai didi

jquery - SQL Server : assign value for character and get average value for each user

转载 作者:行者123 更新时间:2023-12-01 07:08:31 26 4
gpt4 key购买 nike

假设表中有一个名为 class_nr 的字段,class_nr 的示例值为 E、U、R、O、P、S。

+---------+-------------+
| user_id | class_nr |
+---------+-------------+
| 1 | E |
| 1 | O |
| 1 | E |
| 2 | P |
| 2 | R |
| 2 | U |
+---------+-------------+

类(class)积分:

E=5
U=4
R=3
O=2
P=1

现在我想计算用户所拥有的 class_nr 的平均分。例如,user_id 1 有 2 个 E 和 1 个 O。所以他的平均分是:

(5+2+5)/3 = 4

同样user_id2获取:

(1+3+4)/3 = 2.67

如何在 SQL Server 中使用单个 SQL 查询来实现此目的?

最佳答案

执行GROUP BY,使用CASE表达式为每个class_nr提供正确的数值:

select user_id, SUM(case class_nr when 'E' then 5.0
when 'U' then 4.0
when 'R' then 3.0
when 'O' then 2.0
when 'P' then 1.0 end) / count(*)
from tablename
group by user_id

关于jquery - SQL Server : assign value for character and get average value for each user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34061464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com