前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

DQL续

作者头像
木瓜煲鸡脚
发布2019-07-22 16:13:47
4650
发布2019-07-22 16:13:47
举报
文章被收录于专栏:Jasper小笔记

DQL续

  1. 分组查询
  2. LIMIT
  3. 语句顺序

分组查询

什么是分组查询

  • 将查询结果按照1个或多个字段进行分组,字段值相同的为一组
代码语言:javascript
复制
SELECT sex from stduent GROUP BY sex; 
/* 会以sex的值不同分为多少种,相同的归为一类。
 每一类中其实有多少条记录还是存在,而不是像去重*/
代码语言:javascript
复制
SELECT * FROM student GROUP BY sex;
/*
根据sex字段来分组,sex字段的全部值只有两个('男'和'女'),
所以分为了两组
当group by单独使用时,只显示出每组的第一条记录
所以group by单独使用时的实际意义不大*/
代码语言:javascript
复制
SELECT GROUP_CONCAT(sname) FROM student GROUP BY sex;
/*通过group_concat(字段名),类还是只有两类男和女
 即还是两条,但是类中的那个字段名的所有记录都会有显示*/
 SELECT sex,GROUP_CONCAT(sno,sname,grade) AS student FROM student GROUP BY sex;

group by + 聚合函数

  • 通过group_concat()的启发,我们既然可以统计出每个分组的某字段的值的集合,那么我们也可以通过集合函数来对这个"值的集合"做一些操作

使用

代码语言:javascript
复制
SELECT class,SUM(grade) from student GROUP BY class;
/* 以班分类,求grade字段的和,它的记录也是分为三组去计算*/
代码语言:javascript
复制
SELECT class,COUNT(*) from student GROUP BY class;
/*统计记录条数,也是分组后,每组有多少条*/
代码语言:javascript
复制
SELECT class,COUNT(*) from student WHERE grade>=60 GROUP BY class;
/* 筛选后再分组*/

group by + having

  • 用来分组查询后指定一些条件来输出查询结果
  • having作用和where一样,但having只能用于group by
  • 相当于是分组后再筛选
代码语言:javascript
复制
SELECT class,SUM(grade) from student GROUP BY class HAVING SUM(grade)>120;
/* 对分组后产生的结果再筛选*/

having与where的区别

  • having是在分组后对数据进行过滤.
  • where是在分组前对数据进行过滤
  • having后面可以使用分组函数(统计函数)
  • where后面不可以使用分组函数
  • WHERE是对分组前记录的条件,如果某行记录没有满足WHERE子句的条件,那么这行记录不会参加分组;而HAVING是对分组后数据的约束。

LIMIT

limit 参数1,参数2;

参数1:起始行号

参数2:查询多少行

0为第一行记录

代码语言:javascript
复制
SELECT * from student LIMIT 2,3;

分页思路

代码语言:javascript
复制
/* 通过翻页来查看,每页五行
   0-4:第一页
   5-9:第二页
   10-14:第三页
 */
int nowPage = 1; // 当前页,初始为第一页显示0-4行
int pageTurns = 5;// 一次查询行数 

每当翻页{
  nowPage++;
  SELECT * from student LIMIT (nowPage - 1)*5 , pageTurns;
}

语句顺序

书写顺序

执行顺序

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT那个小笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档