执行顺序:from......where......group by......having......select......order by......limit
group by
1.分组之后的条件引出用having,分组之前的条件引出用where
2.where后面不可以使用聚合函数,having后面可以使用聚合函数
3.有having一定有group by,有group by可以没有having
4.group by分组函数SQL中可以查询的字段,聚合函数、分组列
例如:
查询 每一个部门中工资大于10000的人数,显示人数大于2的部门
select deptno, count(*)
from emp
where sal >10000
group by deptno
having count(*) > 4
order by
1.desc asc
2.多列排序的时候,第一列正常排序,第二列在第一列相同的时候在排序,所以第二列看上去不像是完整的排序。多列排序的特点是在前一列相同情况下的排序。
limit
limit(index,num)
聚合函数
count(数字) 结果是所有行
count(列) 包含0和数字,不包含null sum(列) 不包含null,自动将null转化为0了
sum(ifnull(comm,0) + ifnull(sal,0)) = sum(comm) + sum(sal)
avg(列)
max()
min()