GROUP BY子句
出现在SELECT列表中的字段或者出现在order by 后面的字段,如果不是包含在分组函数中,那么该字段必须同时在GROUP BY子句中出现。
包含在 GROUP BY子句中的字段则不必须出现在SELECT列表中。
可使用where字句限定查询条件
可使用Order by子句指定排序方式
如果没有GROUP BY子句,SELECT列表中不允许出现字
段(单行函数)与分组函数混用的情况。
select empno, sal from emp; //合法
select avg(sal) from emp; //合法
select empno, initcap(ename), avg(sal) from emp; //非法
不允许在 WHERE 子句中使用分组函数。
select deptno, avg(sal)
from emp
where avg(sal) > 2000;
group by deptno;
出现在SELECT列表中的字段或者出现在order by 后面的字段,如果不是包含在分组函数中,那么该字段必须同时在GROUP BY子句中出现。
包含在 GROUP BY子句中的字段则不必须出现在SELECT列表中。
可使用where字句限定查询条件
可使用Order by子句指定排序方式
如果没有GROUP BY子句,SELECT列表中不允许出现字
段(单行函数)与分组函数混用的情况。
select empno, sal from emp; //合法
select avg(sal) from emp; //合法
select empno, initcap(ename), avg(sal) from emp; //非法
不允许在 WHERE 子句中使用分组函数。
select deptno, avg(sal)
from emp
where avg(sal) > 2000;
group by deptno;