PreStatement = myConnection.prepareStatement(""
+ "SELECT Game1.AVG(Score),Students.FirstName,Students.LastName "
+ "FROM Game1 "
+ "INNER JOIN Students "
+ "ON Game1.StudentID = Students.StudentID "
+ "ORDER BY Students.FirstName ASC;");
这行不通。 (错误肯定是AVG Score部分)
但这确实:
PreStatement = myConnection.prepareStatement(""
+ "SELECT AVG(Score),
+ "FROM Game1 "
我是否做错了什么,或者我是否必须做两个陈述才能得到我的平均分数?
试试这个。
PreStatement = myConnection.prepareStatement(""
+ "SELECT AVG(Game1.Score),Students.FirstName,Students.LastName "
+ "FROM Game1 "
+ "INNER JOIN Students "
+ "ON Game1.StudentID = Students.StudentID "
+ "ORDER BY Students.FirstName ASC;");
如果您想要每个学生的平均值,那么您应该使用
GROUP BY
:
SELECT AVG(g.Score), s.FirstName, s.LastName
FROM Game1 g INNER JOIN
Students s
ON g.StudentID = s.StudentID
GROUP BY s.FirstName, s.LastName
ORDER BY s.FirstName ASC;
表别名还使查询更易于编写和读取。