T-SQL 中的 AVG(User_Score) 返回错误值

问题描述 投票:0回答:1

我将有关视频游戏的 Excel 工作表导入到 SMSS 中,大约有 10,000 个

User_Scores
,但是当我运行下面的代码时,它似乎只给我每个发布者的最大 user_score ......我正在寻找平均 user_score每个发行商(游戏公司)。帮助! (我之前确实有一个 User_score 不为空的地方,但我发现 AVG 忽略了空,所以我删除了它)

SELECT 
    Publisher, 
    AVG(User_Score) AS AVGScore, 
    AVG(User_Count) AS AVGCount 
FROM 
    [Video Game Sales]..Video_Games_Sales_as_at_22_Dec_$
GROUP BY
    Publisher, User_Score
ORDER BY
    AVGScore DESC

智能感知认为没有任何作用。我尝试过

AVG(CAST(USER_SCORE AS AVGScore)
,我的下一次尝试将尝试使用
user_score
的总和/计数。

sql tsql select average
1个回答
1
投票

您的查询按

Publisher
User_Score
的独特组合进行分组,这不是您想要的。从
User_Score
子句中删除
group by
就可以了:

SELECT   Publisher, AVG(User_Score) as AVGScore, AVG(User_Count) as AVGCount 
FROM     [Video Game Sales]..Video_Games_Sales_as_at_22_Dec_$
GROUP BY Publisher
ORDER BY AVGScore desc
© www.soinside.com 2019 - 2024. All rights reserved.