Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计算列和行的平均值_Sql_Sql Server_Average_Rating - Fatal编程技术网

Sql 计算列和行的平均值

Sql 计算列和行的平均值,sql,sql-server,average,rating,Sql,Sql Server,Average,Rating,下面是我的表格(tblreviewwrating),其中包含数据: rrFood rrService rrCleanliness rrAmbience rrBqtID rrCusID ------ --------- ------------- ---------- ------- ------- 3 4 2 1 1 1 5

下面是我的表格(
tblreviewwrating
),其中包含数据:

rrFood    rrService    rrCleanliness    rrAmbience    rrBqtID    rrCusID
------    ---------    -------------    ----------    -------    -------
3         4            2                1             1          1
5         4            3                2             1          2
4         2            4                2             2          5
4         2            4                2             2          7
4         2            4                2             2          9
我试图计算每个独立宴会厅(
rrBqtID
)的前四列(5分制)的平均值,这些列来自客户(
rrCusID
):

我如何计算客户提供的每个宴会厅的四项服务的平均评分和
平均评分的平均值

编辑:
我想在我的查询中应用以计算评级。

如果您想要rrBqtID、rrCusID的平均值,您应该按rrFood、rrService、RRCLINITY、rrAmbience分组,但rrBqtID、rrCusID除外

SELECT rrBqtID, rrCusID, 
       ROUND(AVG(rrFood+rrService+rrCleanliness+rrAmbience),2) AS AverageRating 
FROM tblReviewRating
GROUP BY rrBqtID, rrCusID
如果你想在其他信息附近看到avg,你应该使用join eg

SELECT A.rrFood,A.rrService,A.rrCleanliness,A.rrAmbience , T.AverageRating
FROM tblReviewRating A
INNER JOIN (

    SELECT rrBqtID, rrCusID, 
           ROUND(AVG(rrFood+rrService+rrCleanliness+rrAmbience),2) AS AverageRating 
    FROM tblReviewRating
    GROUP BY rrBqtID, rrCusID
) T ON T.rrBqtID = A.rrBqtID and T.rrCusID = A.rrCusID

如果您想要rrBqtID、rrCusID的平均值,您应该根据rrFood、rrService、RRCleanergy、rrAmbience进行分组,但rrBqtID、rrCusID除外

SELECT rrBqtID, rrCusID, 
       ROUND(AVG(rrFood+rrService+rrCleanliness+rrAmbience),2) AS AverageRating 
FROM tblReviewRating
GROUP BY rrBqtID, rrCusID
如果你想在其他信息附近看到avg,你应该使用join eg

SELECT A.rrFood,A.rrService,A.rrCleanliness,A.rrAmbience , T.AverageRating
FROM tblReviewRating A
INNER JOIN (

    SELECT rrBqtID, rrCusID, 
           ROUND(AVG(rrFood+rrService+rrCleanliness+rrAmbience),2) AS AverageRating 
    FROM tblReviewRating
    GROUP BY rrBqtID, rrCusID
) T ON T.rrBqtID = A.rrBqtID and T.rrCusID = A.rrCusID

您不应按要聚合的
分组,而应按要按
分组的
分组。因此,与按
rrFood
rrService
rrcleanity
rrAmbience
进行分组不同,您应该分别按
rrBqtID
rrCustID
进行分组

通过使用公式,您可以得到四列
的平均值

(第1列+第2列+第3列+第4列)/4

然后使用
AVG
将其聚合:

select rrBqtID, rrCustID, AVG(AverageRating) as AverageRating
from
(SELECT rrBqtID, rrCustID, ROUND(rrFood+rrService+rrCleanliness+rrAmbience) / 4,2) AS AverageRating 
FROM tblReviewRating) t
group by rrBqtID, rrCustID

您不应按要聚合的
分组,而应按要按
分组的
分组。因此,与按
rrFood
rrService
rrcleanity
rrAmbience
进行分组不同,您应该分别按
rrBqtID
rrCustID
进行分组

通过使用公式,您可以得到四列
的平均值

(第1列+第2列+第3列+第4列)/4

然后使用
AVG
将其聚合:

select rrBqtID, rrCustID, AVG(AverageRating) as AverageRating
from
(SELECT rrBqtID, rrCustID, ROUND(rrFood+rrService+rrCleanliness+rrAmbience) / 4,2) AS AverageRating 
FROM tblReviewRating) t
group by rrBqtID, rrCustID

这可能会帮助您查看每个宴会厅的平均评分。希望这有帮助

SELECT rrBqtID, AVG(rrFood) AS AVGrrFood,AVG(rrService) AS AVGrrService,AVG(rrCleanliness) AS AVGrrCleanliness,AVG(rrAmbience) AS AVGrrAmbience, 
   ROUND(AVG((rrFood+rrService+rrCleanliness+rrAmbience)/4),2) AS AverageRating 
FROM tblReviewRating
GROUP BY rrBqtID

这可能会帮助您查看每个宴会厅的平均评分。希望这有帮助

SELECT rrBqtID, AVG(rrFood) AS AVGrrFood,AVG(rrService) AS AVGrrService,AVG(rrCleanliness) AS AVGrrCleanliness,AVG(rrAmbience) AS AVGrrAmbience, 
   ROUND(AVG((rrFood+rrService+rrCleanliness+rrAmbience)/4),2) AS AverageRating 
FROM tblReviewRating
GROUP BY rrBqtID

@阿里,我已经编辑了我的答案。你还看到错误吗?@Asif.Ali我已经编辑了我的答案。现在好点了吗?@Asif.Ali我已经编辑了我的答案。你还看到错误吗?@Asif.Ali我已经编辑了我的答案。现在好点了吗?我工作过,但是如何计算
平均值的平均值
。试试分组汇总(rrBqtID),看看它是否是您所需要的。汇总在底部提供了额外的行;总体平均数。不是你想要的吗?我工作了,但是如何计算
平均值的平均值
。试试分组汇总(rrBqtID),看看它是否是你需要的。汇总在底部提供了额外的行;总体平均数。不是你要找的吗?