数据表排序:
当我们在对数据库操作的时候,我们经常会遇到对年龄,对考试成绩进行排序的问题,排序可以使我们对所要显示的数据一目了然,因此排序就成为了重要的一项功能。下面我们对其进行详细的说明。
排序共有两种:ASE(升序),DESC(降序)。系统默认是asc
排序的作用是对满足条件的记录按照字段名1进行排列,如果字段名1的值相同。则按照字段名2排列。
排序的语法
Select 字段名 列表 from 表名 [where] order by 字段名1 asc|desc [,字段名2 asc|desc] ……
下面来看几个实例:
实例:把yuangong表中的yuangong按照年龄升序
select * from yuangong order by 年龄 asc
实例:在yuangong表中按照部门升序,同一部门中按照年龄降序
select * from yuangong order by 部门 asc,年龄 desc
实例:在yuangong表中对男同志工资进行降序排列
select * from yaungong where 性别='' order by 工资 desc
关于排序用法很简单也很容易理解。接下来我们看看聚集函数。
聚集函数:
关于聚集函数就是对数据表中一些数据的总和、平均值、最大值、最小值及汇总的操作。
常用的聚集函数有下面几种:
sum() 求和
avg() 求平均值
max()求最大值
min()求最小值
count()汇总
接下来用实例来加深对它的理解。
实例:求yuangong表中所有员工年龄的总和
select sum(年龄) from yuangong
实例:求yuangong表中女同志的平均年龄
select avg(年龄) from yuangong
实例:求yuangong表中员工的总人数
select count(*) from yuangong
(注意count()括号中写为null的不计)
实例:求yuangong表中工资最少的员工信息
select * from yuangong where 工资=(select min (工资) from yuangong)
实例:求每个部门的平均工资
这个实例必须要用到一个分组命令group by
select 部门,avg(工资) from yuangong group by 部门
注意:当我们用group by这个命令时对其结果进行过滤时不能用where只能用having