mysql基础学习笔记-2

来源:互联网 发布:格式化js代码 编辑:程序博客网 时间:2024/05/22 04:59
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;
0 0