带你玩转JavaWeb开发之六-mysql基本语法详解及实例(4)
按照分类的名称统计每个分类商品所花的总钱数【排序查询】
SQL中对查询的列进行排序,使用关键字order by。默认情况下是升序的排序(从小到大的排序顺序关键字 asc)。使用降序排序需要使用关键字desc。
查询学生的信息,对查询到的信息根据语文分数进行排序。
默认情况

添加asc的情况:

按照语文的分数从大到小排序。

按照英语成绩降序排序,如果英语分数一致,按照数学分数降序排序。

查询所有姓梁的学生,按照数学降序排序。

【聚合函数】
sum(); ---求和。
avg(); ---求平均值。
count(); ---统计个数。
max(); ---求最大值。
min(); ---求最小值。
统计表中的所有学生的个数。

统计表中姓梁的学生的个数

计算所有学生的英语成绩的总分

计算各个学科的学生的总成绩

目前两个查询的结果是一样的,但是实质上两种查询不一样的。上面的是竖着统计的值,而下面的是横向统计的值。目前值一样。
现在插入空值:



横着统计,NULL+78+92 最终结果是NULL.竖着方向sum(english)+sum(math)+sum(chinese)将78和92的值也都统计进来了。也可以使用ifnull函数。

求出数学平均成绩


取出数学的最高分是多少

获得语文成绩的最低分是多少

获得姓张的同学的语文成绩的最高分

【查询的分组】
对得到的数据进行分组,使用的关键字group by 。分组的主要的目的是与聚合函数一起使用进行数据的统计情况的分析。
create table product(
id int primary key auto_increment,
name varchar(20),
price double,
cname varchar(20)
);
insert into product values (null,'洗衣机',1000,'家用电器');
insert into product values (null,'冰箱',3000,'家用电器');
insert into product values (null,'洗衣机',1000,'家用电器');
insert into product values (null,'空调',2000,'家用电器');
insert into product values (null,'电脑',4000,'电脑办公');
insert into product values (null,'机械键盘',300,'电脑办公');
insert into product values (null,'机械键盘',300,'电脑办公');
按商品的名称进行分组。

按商品的分类的名称进行分组

按照商品名称统计每个商品所购买的个数

按照商品的名称统计每类商品所花的总钱数

获得家用电器类的商品所花的总金额

按照分类的名称统计每个分类商品所花的总钱数。查询出总钱数大于5000的有哪些。

以上的写法是错误的!!!因为where条件后不能加聚合函数。带分组统计的条件,需要加在having后面。

1.1.1.2 对查询语句进行总结:
查询的语句是变化最多的语句。结构如下:
Select … From … where … group by … having … order by …;
SFWGHO…
带你玩转JavaWeb开发之六-mysql基本语法详解及实例(4)的更多相关文章
- 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(2)
1.1.1 对数据库中表的记录进行操作(*****) 1.1.1.1 对数据库中表记录插入操作 [语法] 向数据库表中插入某些列:insert into 表名 (列名1,列名2,列名3-) ...
- 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(1)
1.1.1 对数据库的表进行操作 1.1.1.1 对数据库中表进行创建 [语法:] create table 表名( 列名 列类型 [列约束], 列名 列类型 [列约束], 列名 列类型 [ ...
- 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(3)
[语法] update 表名 set 列名=列值,列名=列值 -[条件]; [注意事项] * 修改的列的值需要与列的类型一致. * 修改的列的值的长度不能超过列的类型的最大长度. * 字符串类型和日期 ...
- mysql 触发器语法详解
1.创建Mysql触发器: 语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BE ...
- 带你玩转JavaWeb开发之五-如何完成响应式开发页面
响应式页面开发 使用BootStrap开发一个响应式的页面出来 响应式开发就是同一个页面在PC端与手机端Pad端显示不同的效果,以给用户更好的体验 需求分析 开发一套页面,让用户能够在PC端, Pad ...
- 带你玩转JavaWeb开发之四 -如何用JS做登录注册页面校验
今日内容 使用JQuery完成页面定时弹出广告 使用JQuery完成表格的隔行换色 使用JQuery完成复选框的全选效果 使用JQuery完成省市联动效果 使用JQuery完成下列列表左右选择 使用J ...
- 带你玩转JavaWeb开发之三 -JS插件实战开发
前提:需要掌握的知识点 填写HTML代码 Element元素中有一个innerHTML属性,这个属性可以填写一段html代码 innerHTML = "<font ...
- 带你玩转JavaWeb开发之三 - CSS从基础到实战
一,什么是CSS? Cascading Style Sheets层叠样式表 层叠:就是层层覆盖叠加,如果有多种样式对同一html标签进行修饰,样式有冲突的部分应用优先级高,不冲突的 ...
- 带你玩转JavaWeb开发之一 - HTML快速入门
一,html简介 1,html是什么 Html是用来描述网页的一种语言. (1)HTML 指的是超文本标记语言 (Hyper Text Markup Language) (2)HTML 不是一种编程语 ...
随机推荐
- Effective C++ -----条款54:让自己熟悉包括TR1在内的标准程序库
C++ 标准程序库的主要机能由STL.iostream.locales 组成.并包含C99 标准程序库. TR1 添加了只能指针(例如 tr1::shared_ptr).一般化函数指针(tr1::fu ...
- VC++ 实现简单的桌面截图
使用了EasyX图像库,使用方法请参考:VC++ 制作一个简易的控制台时钟应用 简单的桌面截图代码: ///////////////////////////////////////////////// ...
- Odoo中最小库存规则和按订单生成规则的区别
---恢复内容开始--- 最小库存规则(Minimum stock rule)用来保证你的库存产品数量总是不会低于设定的最小库存数量.用来保证产品生产和回到客户的需求.当库存产品低于这个最小库存数量时 ...
- CSS初始化样式
为什么要初始化CSS? CSS初始化是指重设浏览器的样式.不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一.如果没对CSS初始化往往会出现浏览器之间的页面差异.每次新开发 ...
- hdfs的读写数据流
hdfs的读: 首先客户端通过调用fileSystem对象中的open()函数读取他需要的的数据,fileSystem是DistributedFileSystem的一个实例, Distrib ...
- UWP crop image control
最近做项目,需求做一个剪切图片的东东.如下图 主要是在一个canvas上面.根据crop的大小画出半透明的效果 <Canvas x:Name="imageCanvas" Vi ...
- 如何判断css是否加载完成
要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理: // 代码节选至seajs functi ...
- psql-10权限和事务
用户和角色 用户和角色在整个数据库实例中都是全局的;
- [工作中的设计模式]迭代子模式Iterator
一.模式解析 迭代子模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象 1.迭代子模式一般用于对集合框架的访问,常用的集合框架为lis ...
- win10 系统怎么获取最高管理员权限删除文件
http://www.xitongcity.com/jiaocheng/win8_content_3473.html 很多win8.1系统用户在对磁盘文件进行清理时,经常会遇到“文件夹访问被拒绝,您需 ...