【发布时间】:2016-04-30 19:37:40
【问题描述】:
我不知道这是否可能。 我有两张桌子:
医院表中的列
- 医院编号
- 姓名
- 平均评分
评分表中的列
- 身份证
- 评分1
- 评分2
- 评分3
- 评分4
- 评分5
- 评分6
- 医院编号
rating1 到 rating6 是评级类型。现在通过calculation,我可以通过以下 SELECT 查询在ratings 表中获得particular hospital 的average rating
SELECT IFNULL((SUM(charges) + SUM(behaviour) + SUM(admission) + SUM(properInformation)
+ SUM(hygine) + SUM(treatment))/(count(hospitalID) * 6), 0
) AverageRating,COUNT(ID) RatingCount
FROM ratings
WHERE hospitalID = '111111'
上面的查询非常适合我,但这个averageRating 我也想在我的医院表中计算,因为我想对医院进行排名。
mySQL中是否有任何函数可以通过参考评分表来计算医院表的平均评分。
【问题讨论】:
-
@AJ 是的。它是我提到的 Rating1、Rating2 等的评级类型。它们是评级的类型
-
那你可以试试我提供的解决方案。
-
@AJ 是的,您的解决方案对我有用,但是有什么方法可以创建类似的函数,所以每当我在该 AverageRatings 列中选择医院表时,特定医院的平均得分应该自动得到计算。因为正如我提到的,我需要根据医院的平均评分来计算医院的排名
-
@AJ 我唯一的动机是根据平均评分显示医院排名。如果我这样做的方式不可能或复杂,请建议我任何其他方式
-
没有这个功能。您必须编写自己的查询。尝试第二个查询。它将计算每家医院的平均评分和排名。