如何使用Mysql从多行中获得多个平均值
我试图获得6场比赛的平均评分(1-10) 以下是该表的一个示例: 我可以这样选择6场比赛中的一场:如何使用Mysql从多行中获得多个平均值,mysql,sql,Mysql,Sql,我试图获得6场比赛的平均评分(1-10) 以下是该表的一个示例: 我可以这样选择6场比赛中的一场: SELECT ROUND(AVG(overallRating), 0), COUNT(*) AS Total, gameID FROM gameSurvey WHERE gameID = 1 SELECT ROUND(AVG(overallRating), 0), COUNT(*) AS numberOfRatings, gameID FROM gameSurvey GROUP BY game
SELECT ROUND(AVG(overallRating), 0), COUNT(*) AS Total, gameID
FROM gameSurvey
WHERE gameID = 1
SELECT ROUND(AVG(overallRating), 0), COUNT(*) AS numberOfRatings, gameID
FROM gameSurvey
GROUP BY gameID;
我想检索所有6场比赛的平均评分?试试:
SELECT ROUND(AVG(overallRating), 0), count(*) as Total, gameID
FROM gameSurvey
GROUP BY gameID
SELECT ROUND(AVG(overallRating), 0), count(*) as Total, gameID
FROM gameSurvey
GROUP BY gameID
将查询更改为使用
分组依据
:
使用分组依据正如其他人所说,您应该使用分组依据 正如所暗示的那样,这是基于给定列将某些行分组在一起。在本例中,您希望将所有gameID值分组到一行中。然后,在这些组中执行任何聚合函数(如AVG),因此在结果集中看到的平均值就是给定组的平均值 这是一个关于子句的资源 您的查询如下所示:
SELECT ROUND(AVG(overallRating), 0), COUNT(*) AS Total, gameID
FROM gameSurvey
WHERE gameID = 1
SELECT ROUND(AVG(overallRating), 0), COUNT(*) AS numberOfRatings, gameID
FROM gameSurvey
GROUP BY gameID;
我曾试图为您构建一个SQL Fiddle示例,但目前似乎已经失败。希望这些信息足以帮助您前进。而不是
where
,按游戏ID分组。