2017-05-03 139 views
0

后,我想在8由AVG值>摸索,像这样Where语句ORDER BY语句

SELECT avg(students_subject.nota) as avg, students.name 
FROM students_subject 
left JOIN studentsON students.id=students_subject.id_alumno 
GROUP BY students_subject.id_student 
where avg > 8; 
+1

这里有一些例子:http://stackoverflow.com/文档/ mysql/3523/group-by#t = 201705031558494748459 –

回答

2

与GROUP BY比较时使用HAVING其中不能与聚合函数一起使用。您的查询将是这样的:

SELECT avg(students_subject.nota) as avg, students.name 
FROM students_subject 
left JOIN studentsON students.id=students_subject.id_alumno 
GROUP BY students_subject.id_student 
HAVING avg > 8; 
+0

谢谢!工作也很好 –

2

后要求使用having子句引用聚合函数条件:

SELECT avg(students_subject.nota) as avg, students.name 
FROM students_subject 
left JOIN students ON students.id=students_subject.id_alumno 
GROUP BY students_subject.id_student 
having avg(students_subject.nota)> 8; 
+0

谢谢!工作也很好! –

1

参考网站w3schools

语法

SELECT column_name(s) 
FROM table_name 
WHERE condition 
GROUP BY column_name(s) 
HAVING condition 
ORDER BY column_name(s); 

SELECT COUNT(CustomerID), Country 
FROM Customers 
GROUP BY Country 
HAVING COUNT(CustomerID) > 5;