发表于: 2019-10-14 23:31:09

0 538


今天完成的事情:

MySQL语句
明天计划的事情:

遇到的问题:暂无
收获:

对查询结果进行排序

语法:SELECT 字段名1,字段名2,…

   FROM 表名

   ORDER BY 字段名1 [ ASC | DESC ],字段名2 [ ASC | DESC ]…

在该语法中指定的字段名是对查询结果进行排序的依据,ASC表示升序排列,DESC 表示降序排列,默认情况是升序排列。

举例1:查出student2表中的所有记录,并按照grade字段进行升序排序

命令:SELECT * FROM student2

   ORDER BY grade;

举例2:查出student2表中的所有记录,并按照grade字段进行降序排序

命令:SELECT * FROM student2

   ORDER BY grade DESC;

分组查询

在对表中数据进行统计的时候,可以使用GROUP BY 按某个字段或者多个字段进行分组,字段中值相同的为一组,如男生分为一组,女生分为一组。

语法:SELECT  字段名1,字段名2,…

   FROM 表名

   GROUP BY 字段名1,字段名2,… [ HAVING 条件表达式 ];

单独使用 GROUP BY 进行分组

单独使用GROUP BY 关键字,查询的是每个分组中的一条记录

举例:查询student2表中的数据,按照gender字段进行分组。

命令:SELECT * FROM student2 GROUP BY gender;

GROUP BY 和聚合函数一起使用

GROUP BY 和聚合函数一起使用,可以统计出某个或者某些字段在一个分组中的最大值、最小值、平均值等。

举例:将student2表按照gender字段进行分组查询,计算出每组共有多少个人。

命令:SELECT COUNT(*) ,gender FROM student2 GROUP BY gender;

GROUP BY 和 HAVING 关键字一起使用

 HAVING关键字和WHERE关键字的作用相同,区别在于HAVING 关键字可以跟聚合函数,而WHERE 关键字不能。通常HAVING 关键字都和GROUP BY一起使用,用于对分组后的结果进行过滤。

举例:将student2表按照gender字段进行分组查询,查询出grade字段值之和小于300的分组

命令:SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;

 使用 LIMIT 限制查询结果的数量

语法:SELECT 字段名2,字段名2,…

   FROM 表名

   LIMIT [ OFFSET ,] 记录数

举例1:查询student2表中的前四条记录。

命令:SELECT * FROM student LIMIT 4;

举例2:查询student2表中grade字段从第五位到第八位的人(从高到低)

命令:SELECT * FROM student2 ORDER BY grade DESC LIMIT 4,4;



返回列表 返回列表
评论

    分享到