SQL-聚合函数 排序 分组

– 查询所有学生记录,按年龄升序排序 ORDER BY 列 默认 升序
select * from stu ORDER BY age;
– 查询所有学生记录按年龄降序排序 DESC 表示降序 ASC 升序
select * from stu ORDER BY age ASC;
– emp sal降序排序 sal工资相同的 再按照empno 降序
select * from emp ORDER BY sal desc, empno desc;
– emp 中有多少人
– 聚合函数 count max min sum avg
select count(comm) from emp; – 统计有奖金的人数 统计非空的个数
– emp 中 工资 最高的 和最少的
select max(sal), min(sal) from emp;
– emp 平均工资
select avg(sal) from emp;
– 统计sal的和
select sum(sal) from emp;

=======分组===============================-====
查询每个部门的部门编号和每个部门的工资和
–  查询每个部门的部门编号以及每个部门的人数
select * from emp order by deptno; –10 3 20 5 30 6

select deptno,count(*) from emp group by deptno;

–  查询每个部门的部门编号以及每个部门工资大于1500的人数 where 分组之前的条件筛选

select deptno,count(*) from emp where sal >1500 group by deptno ;

–  查询工资总和大于9000的部门编号以及工资和 分组之后
select deptno,sum(sal) from emp group by deptno having sum(sal) >9000 ;
– 查询人数超过5个人的部门编号 和人数
select deptno,count() from emp group by deptno HAVING count()>5;
– 查询每个部门中 有comm的 各有多少人 deptno
select deptno,count(*) from emp where comm is not null group by deptno

select deptno,sum(sal) from emp GROUP BY deptno;
– stu 男 女各有多少人
select gender,count(*) from stu group by gender;

你可能感兴趣的:(SQL)