Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在非聚合函数上具有的Group by无效_Mysql_Sql_Group By_Having - Fatal编程技术网

Mysql 在非聚合函数上具有的Group by无效

Mysql 在非聚合函数上具有的Group by无效,mysql,sql,group-by,having,Mysql,Sql,Group By,Having,为什么这是SQL语句: 从orgchart group by团队中选择团队,avgsalary“平均薪资”从orgchart group by团队中选择团队,avgsalary“平均薪资”从orgchart group by团队中选择 具有薪资have的团队用于评估一组行。在分组之前,您仍然可以通过对行应用WHERE条件来单独计算/筛选行 所以,在你的情况下,应该是这样的 select team, avg(salary) 'Average Salary' from orgchart where

为什么这是SQL语句: 从orgchart group by团队中选择团队,avgsalary“平均薪资”从orgchart group by团队中选择团队,avgsalary“平均薪资”从orgchart group by团队中选择
具有薪资have的团队用于评估一组行。在分组之前,您仍然可以通过对行应用WHERE条件来单独计算/筛选行

所以,在你的情况下,应该是这样的

select team, avg(salary) 'Average Salary'
from orgchart
where salary < 38000
group by team;

HAVING用于计算一组行。在分组之前,您仍然可以通过对行应用WHERE条件来单独计算/筛选行

所以,在你的情况下,应该是这样的

select team, avg(salary) 'Average Salary'
from orgchart
where salary < 38000
group by team;
where子句适用于单个行,而HAVE子句适用于组。有关这方面的更多信息,请访问:

where子句适用于单个行,而have则适用于组。有关这方面的更多信息,请访问:

通过group by,我只能使用having,而不能使用where.Correct。不,那是不对的。如果您使用聚合函数进行过滤,则必须使用having,否则您可以使用WHERE来过滤数据。对于group by,我只能使用having,而不能使用WHERE.Correct。不,那是不对的。如果要使用聚合函数进行过滤,则必须使用have,否则可以使用WHERE来过滤数据。因此,问题是WHERE是否跟随groupby。对吗?不,groupby跟随WHERE。分组是在应用where筛选器之后完成的。因此问题是where是否跟随group by。对吗?不,group by跟随where。分组在应用where筛选器后完成。