数据库SQL Server2012笔记(三)——表的复杂查询
1、数据分组——max/min/avg/sum/count
- select avg(字段名),sum(字段名) from 表名
- select count(*) from 表名
- select 字段1,字段2 from 表名 where 字段=(select avg(字段名) from 表名)
注:
- SQL语句运行。从右向左。
- select语句优化原则:尽量把能够降低结果集的条件放在右边。
2、group by和having子句(having与group by结合使用,对分组后的结果进行筛选)
- group by 用与对查询的结果分组统计
- having子句用来限制分组显示结果
- select 字段 from 表名 group by 字段名
3、对数据分组的总结
- 分组函数仅仅能出如今选择列表、having、order by 子句中
- 假设在select语句中同一时候出现包括有group by,having,order by,那么顺序为group by,having,order by
- 在选择列中。假设有列、表达式和分组函数,那么这些列和表达式必须有一个出如今group by 子句中,否则就会出错