MySQL简单快速入门 (三)高级查询——JEPLUS软件快速开发平台
03.SQL高级查询_分组:
1).需求:一条查询,查询出每种商品的最高价格
2).分组的命令:group by 分组字段
3).实现上例:
select category_id,max(price) from product group by category_id;
查询顺序:先分组,再聚合
4).注意事项:
分组查询的结果最多只能包含:分组列,聚合结果,不能包含其他字段。
5).练习1:
需求:查询每个生产日期的商品的数量是多少?
select proDate,count(*) from product group by proDate;
6).练习2:
有如下学员信息表:
编号 姓名 性别 年龄 科目
1 张三 男 22 JavaEE
2 李四 女 18 UI
3 王五 男 23 JavaEE
4 周六 女 21 JavaEE
5 赵四 女 17 IOS
需求1:每科目学员的最大年龄是多少?
select 科目,max(年龄) from 学员信息表 group by 科目
需求2: 每科目的总人数是多少?
select 科目,count(*) from 学员信息表 group by 科目
需求3: 一个查询显示出每科目的男同学和女同学分别有多少人?
1).先想出查询结果是什么样的:
科目 性别 人数
JavaEE 男 2
JavaEE 女 1
UI 男 0
UI 女 1
IOS 男 0
IOS 女 1
2).对多列进行分组:
select 科目,性别,count(*) from 学员信息表 group by 科目, 性别;//先按第一列分组,然后再按第二列进行分组
7).目前学习过的语句的编写顺序:
select 筛选字段 from 表名 where 条件 group by 分组字段 order by 排序字段;
执行顺序:
1).from
2).where
3).group by
4).如果有聚合函数,计算聚合的结果
5).select
6).order by
04.SQL高级查询_having子句:
1).需求:查询每种商品的最高价格,要求结果只显示最大价格大于5000元的结果,你可能会想这样写:
SELECT category_id,MAX(price) FROM product where max(price) > 5000 GROUP BY category_id ORDER BY MAX(price);
上述语句错误,因为where先执行,max()后执行,当where执行时,max()还没有结果,所以此语句错误。
2).由于where不能对聚合后的结果进行筛选,要对聚合后的结果进行筛选要使用:having语句
select category_id , max(price) from product group by category_id having max(price) > 5000 order by max(price);
05.SQL高级查询_分页查询:
1).分页查询语句:
select ... from ... limit m,n;
说明:
1).m : 表示从第几条记录开始取--记录的索引值(第一条记录的索引是0)。计算方式:(当前页- 1) * 每页显示条数
2).n : 表示取几条记录;
2).例如:查询product表,每页4条
#第一页数据:
select * from product limit 0,4;
select * from product limit (1 - 1) * 4 , 4
#第二页数据:
SELECT * FROM product LIMIT 4,4;
select * from product limit (2 - 1) * 4 , 4
#第三页数据:
SELECT * FROM product LIMIT 8,4;
select * from product limit (3 - 1) * 4 , 4
#第四页数据:
SELECT * FROM product LIMIT 12,4;
select * from product limit (4 - 1) * 4 , 4
3).注意:
1).m和n的值如果是负数、浮点数就会抛异常。
2).其它情况如果超出范围,不抛异常,只是无结果而已;
06.SQL的备份与恢复:
1).备份数据库的作用:
1).备份数据,防止数据库软件发生异常,导致数据丢失。
查看原文及
转载于:https://blog.51cto.com/13797782/2134979
MySQL简单快速入门 (三)高级查询——JEPLUS软件快速开发平台相关推荐
- Elasticsearch快速入门2 - 高级查询功能
我们在Elasticsearch快速入门1中详细介绍了ES的安装.基本概念和一些基本的REST Api请求,在这篇入门(2)中,我们继续介绍ES的高级查询功能. 为了说明ES强大的搜索功能,我们还以上 ...
- 功能表单之树形选择字段类型的高级使用——JEPLUS软件快速开发平台
为什么80%的码农都做不了架构师?>>> JEPLUS功能表单之树形选择字段类型的高级使用 JEPLUS功能表单中树形选择字段类型的目标字段在开发过程中还有一些高级配置和高级应 ...
- 【MySQL快速入门】高级查询:计算函数分组计算
使用聚合函数汇总数据: SQL提供统计函数: count([shift+8]):统计表中元组个数 count([distinct]<列名>):统计本列列值个数 sum(<列名> ...
- sql语言和php,SQL语言快速入门(三)_php
我们日常使用SQL语言的工作过程中,使用最多的还是从已经建立好的数据库中查询信息.下面,我们就来详细介绍一下如何使用SQL语言实现各种数据库查询操作. SELECT-FROM 为方便讲解,我们在数据库 ...
- MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)
查询接口 对于查询操作,MongoDB 提供了 db.collection.find() 方法.这个方法接收查询条件和映射两个条件并且返回一个指向匹配文档的 游标 .你可以使用 limits, ski ...
- MongoDB 教程三: 高级查询
视频:MongoDB 教程三: 高级查询 MongoDB支持的查询语言非常强大,语法规则类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,并且由于 MongoDB可以支持复杂的数 ...
- Winform开发框架之通用高级查询模块--SNF快速开发平台3.3-Spring.Net.Framework
最近项目确实忙,但也是一直忙于有关项目和框架技术的事情,也一直致力于改善我的WInform开发框架.使得自己及客户使用起来更加方便,更加友好,更加高效. 在很多程序模块中都很常见,也是给客户扩展查询的 ...
- 【Golang 快速入门】高级语法:反射 + 并发
Golang 快速入门 Golang 进阶 反射 变量内置 Pair 结构 reflect 结构体标签 并发知识 基础知识 早期调度器的处理 GMP 模型 调度器的设计策略 并发编程 goroutin ...
- python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
最新文章
- AI 技术发展飞快,高校 AI 教师的知识储备能满足学生旺盛的求知欲吗?
- className的高效匹配
- 京东把 Elasticsearch 用的真牛逼!
- dedecms使用php语法,dedecms中使用php语句指南,dedecmsphp语句指南_PHP教程
- unity脚本运行顺序具体的解释
- linux kernel: defconfig和.config
- VS2012 发布网站步骤
- java jqgrid json格式_jqGrid 数据之 Json
- Centos7安装并配置mysql5.6完美教程
- weixin-api生成二维码
- windows下kangle虚拟主机-easypanel跑iis6.0开php空间并支持ZendOptimizer教程
- 全球与中国弹簧探针市场深度研究分析报告(2022)
- C++ 代码整洁之道
- 学习WEB的心理路程
- 汽车租赁管理系统mysql
- 【Python】生成全0矩阵的方法
- Flutter Provider状态管理-Consumer
- 采集需要登录后的网页(重定向后cookie丢失问题)
- 一部适合有一点点lingo编程基础的人阅读的lingo入门教程——重学lingo,发现很多遗忘的小知识,并将其整理成册——运算符、数学函数、金融函数、概率密度函数、变量定界与集操作函数
- javaee实验报告心得_java,web实验报告心得.doc