排序数据、分组查询
2013-11-14 21:59
330 查看
--排序数据
--单一字段排序
--按照薪水由小到大排序
--排序采用order by子句
select * from emp sal order by sal;
--按工资大于1500的员工进行小道大排序
select * from emp where sal > 1500 order by sal;
--手动指定排序顺序
-- 手动指定按照薪水由小到大排序
select * from emp order by sal asc;
--手动指定按照薪水由大到小排序
select * from emp order by sal desc;
--多个字段排序
-- 按照薪水和姓名倒序
--如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序
select * from emp order by sal desc,ename desc;
--使用字段的位置来排序
-- 按照薪水升序
select * from emp order by 6;
--分组查询
-- 取得每个工作岗位的工资合计,要求显示岗位名称和工资合计
select job, sum(sal) from emp group by job;
--having 如果想对分组数据再进行过滤需要使用having子句
--取得每个岗位的平均工资大于2000
select job, avg(sal) from emp group by job having avg(sal) >2000;
分组函数的执行顺序:
1、 根据条件查询数据
2、 分组
3、 采用having过滤,取得正确的数据
--单一字段排序
--按照薪水由小到大排序
--排序采用order by子句
select * from emp sal order by sal;
--按工资大于1500的员工进行小道大排序
select * from emp where sal > 1500 order by sal;
--手动指定排序顺序
-- 手动指定按照薪水由小到大排序
select * from emp order by sal asc;
--手动指定按照薪水由大到小排序
select * from emp order by sal desc;
--多个字段排序
-- 按照薪水和姓名倒序
--如果采用多个字段排序,如果根据第一个字段排序重复了,会根据第二个字段排序
select * from emp order by sal desc,ename desc;
--使用字段的位置来排序
-- 按照薪水升序
select * from emp order by 6;
--分组查询
-- 取得每个工作岗位的工资合计,要求显示岗位名称和工资合计
select job, sum(sal) from emp group by job;
--having 如果想对分组数据再进行过滤需要使用having子句
--取得每个岗位的平均工资大于2000
select job, avg(sal) from emp group by job having avg(sal) >2000;
分组函数的执行顺序:
1、 根据条件查询数据
2、 分组
3、 采用having过滤,取得正确的数据
相关文章推荐
- mysql 先排序后分组再排序查询数据
- SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
- ORACLE使用row_number() over(...)对查询数据进行分组并排序
- Linq排序、分组、模糊查询、调用外部方法、直接执行SQL语句、事务、修改数据
- 父子分组的数据进行排序:一般试用于多维查询
- 查询 按某一字段分组,组内排序,top n条数据
- MYSQL数据库(十)- 数据表的插入(insert)、删(delete)、改(update)、查(select)、group by 分组、having语句设置分组条件,order by查询结果排序,
- 先分组查询,然后为每组数据排序,取出最大值
- oracle或mysql分组查询并且获取前3条排序后的数据
- PostgreSQL 百亿级数据范围查询, 分组排序窗口取值 极致优化 case
- SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
- 2.数据检索|模糊查询|数据排序|数据分组| 常见问题0726
- MySQL数据库学习06-查询数据:排序和分组
- oracle中按A列分组,B列排序,取B中第一条数据的查询
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- mysql按照每天分组查询数据结果排序不是从1到31而是1后接10
- sql 分组查询 数据 大于2条的数据
- [MySQL]学习笔记- 用户行为表中,查询每个人的一条最新行为(分组 排序 取时间最大的一条记录)
- oracle心得1--oracle简介@基本sql语句@条件查询@排序数据理论与案例
- 关于Lucene分组查询后的排序