mysql基础学习笔记-2
2016-01-06 21:19
806 查看
6.排序数据记录查询(通过ORDER BY) 按单字段排序查询 按多字段排序查询 SELECT field1,field2,...fieldn FROM table_name WHERE CONDITION ORDER BY field [ASC|DESC][,field2 ASC|DESC]; #sal字段进行升序查询 SELECT * FROM t_employee ORDER BY sal ASC; #mgr字段进行降序排序查询 SELECT * FROM t_employee ORDER BY mgr DESC; #按多字段排序查询 SELECT * FROM t_employee ORDER BY sal ASC, Hiredate DESC; 7.限制数据记录查询数量 MySQL提供LIMIT来限制查询的数量; SELECT field1,field2,....fieldn FROM table_name WHERE CONDITION LIMIT OFFSET_START,ROW_COUNT; OFFSET_START参数表示数据记录的起始偏移量 ROW_COUNT参数表示显示的行数 7.1.不指定初始位置: #显示记录数小于查询结果 SELECT * FROM t_employee WHERE comm IS NULL LIMIT 2; #显示记录数大于查询结果 SELECT * FROM t_employee WHERE comm is NULL LIMIT 11; 7.2.指定初始位置: LIMIT关键字经常被用于在分页系统中,对于第一页数据记录,可以不指定初始位置来实现, 但是对于第二页的位置等基他页面必须指定初位置(OFFSET_START),否则将无法实现分页功能。 #第一页是包含第1行到第5行 SELECT * FROM t_employee LIMIT 0,5; #从第6行开始计数5行 SELECT * FROM t_employee LIMIT 5,5; 8.统计函数和分组数据记录查询 COUNT()函数: 该函数实现统计表中的记录的条数 AVG()函数: 该函数实现计算字段值的平均值 SUM()函数: 该函数实现计算字段值的总和 MAX()函数: 该函数实现查询字段值的最大值 MIN()函数: 该函数实现查询字段值的最小值 8.1.分组数据查询 SELECT function() FROM table_name WHERE CONDITION GROUP BY field,[...,feildn]; #对所有的记录分组查询 SELECT * FROM t_employee GROUP BY deptno; SELECT * FROM t_employee GROUP BY empno; 8.2.分组查询-----实现统计功能分组查询 如果想显示每个分组中的字段,可以通过GROUP_CONCAT()来实现,该函数可以显示每个分组 中指定的字段值 SELECT GROUP_CONCAT(feild) FROM table_name WHERE CONDITION GROUP BY field; SELECT deptno,GROUP_CONCAT(ename) FROM t_employee GROUP BY deptno; SELECT deptno,GROUP_CONCAT(ename),COUNT(ename) FROM t_employee GROUP BY deptno; 8.3.分组查询-----实现多个字段分组查询 SELECT GROUP_CONCAT(field),function(feild) FROM table_name WHERE CONDITION GROUP BY feild1,field2,field3,...filedn; SELECT deptno,Hiredate FROM t_employee GROUP BY deptno,hiredate; SELECT deptno,hiredate,GROUP_CONCAT(ename), COUNT(ename) FROM t_employee GROUP BY deptno,hiredate; 8.4.分组查询-----实现HAVING子句限定分组查询 SELECT function(feild) FROM table_name WHERE CONDITION GROUP BY field1,field2,...fieldn HAVING CONDITION; SELECT deptno,AVG(sal) average FROM t_employee GROUP BY deptno; SELECT deptno,AVG(sal) average,GROUP_CONCAT(ename) enames,COUNT(ename) number FROM t_employee GROUP BY deptno HAVING AVG(sal)>2000;
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 我是运营,我没有假期
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜