SQL查询-使用计数

SQL查询-使用计数,sql,Sql,我的数据库结构如下: Table - lodges LodgeID (PK) Lodge etc Table - scores ScoreID (PK) Score CategoryID LodgeID (FK) 我正在尝试以以下形式返回结果: LodgeID,Lodge,类别,该类别的分数,该类别的平均分数 例如,如果我有: 住宿 LodgeID, Lodge 1, Lodge One 2, Lodge Two ScoreID, Score, CategoryID, LodgeID 1,

我的数据库结构如下:

Table - lodges
LodgeID (PK)
Lodge
etc

Table - scores
ScoreID (PK)
Score
CategoryID
LodgeID (FK)
我正在尝试以以下形式返回结果:

LodgeID,Lodge,类别,该类别的分数,该类别的平均分数

例如,如果我有:

住宿

LodgeID, Lodge
1, Lodge One
2, Lodge Two
ScoreID, Score, CategoryID, LodgeID
1, 3, 101, 1
2, 5, 101, 1
3, 7, 101, 1
4, 10, 102, 2
5, 20, 102, 2
6, 30, 102, 2
7, 40, 102, 2
得分

LodgeID, Lodge
1, Lodge One
2, Lodge Two
ScoreID, Score, CategoryID, LodgeID
1, 3, 101, 1
2, 5, 101, 1
3, 7, 101, 1
4, 10, 102, 2
5, 20, 102, 2
6, 30, 102, 2
7, 40, 102, 2
我想返回:

1, Lodge One, 3, 5
2, Lodge Two, 4, 25
我一直在尝试这样的事情:

SELECT        COUNT(ScoreID) as scoreCount, AVG(Score) as AverageScore, Lodge 
FROM          scores_temp 
INNER JOIN    lodges_temp ON scores_temp.LodgeID = lodges_temp.LodgeID
选择lodges\u temp.LodgeID,Lodge,COUNT(ScoreID)作为scoreCount,AVG(Score)作为AverageScore,从lodges\u temp内部连接
scores\u temp
中选择lodges\u temp=scores\u temp.LodgeID=scores

没有任何成功。任何提示都将不胜感激。

试试这个

SELECT        COUNT(ScoreID) as scoreCount, AVG(Score) as AverageScore, Lodge 
FROM          scores_temp 
INNER JOIN    lodges_temp ON scores_temp.LodgeID = lodges_temp.LodgeID
GROUP BY Lodge

您缺少一个
分组依据
子句:

SELECT     COUNT(ScoreID) as scoreCount, AVG(Score) as AverageScore, Lodge 
FROM       scores
INNER JOIN lodges ON scores.LodgeID = lodges.LodgeID
GROUP BY   lodge

您应该查看
分组依据
。您是否在末尾添加了分组依据?谢谢!我总是忘记分组!