带你玩转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 不是一种编程语 ...
随机推荐
- SQL语句执行效率及分析(note)
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享: 机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试, ...
- C++ explicit关键字详解
本文系转载,原文链接:http://www.cnblogs.com/ymy124/p/3632634.html 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用 ...
- springMVC 的工作原理和机制
工作原理上面的是springMVC的工作原理图: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web. ...
- 构造Json对象串工具类
import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.Property ...
- js文件上传
DOM: <form id="clueForm" class="insert-dialog" action="/xxx/xxx"met ...
- jQuery插件(拖拽)
拖曳插件draggable的功能是拖动被绑定的元素,当这个jQuery UI插件与元素绑定后,可以通过调用draggable()方法,实现各种拖曳元素的效果,调用格式如下: $(selector). ...
- ArrayList数组列表
ArrayList数组列表 Collection接口和List接口的区别 List接口扩充了Collection接口,添加了索引相关的方法. code example Object get(int i ...
- 学习Sass 的基本语法规则[Sass和compass学习笔记]
自从发现可编程的css语法 Sass和基于Sass的css库compass 一个给我的感觉像c# 另外一个给我的感觉像.NET Framework,一切都为了提升开发效率和降低开发大型web的门槛. ...
- [转载]Grunt插件之LiveReload 实现页面自动刷新,所见即所得编辑
配置文件下载 http://vdisk.weibo.com/s/DOlfks4wpIj LiveReload安装前的准备工作: 安装Node.js和Grunt,如果第一次接触,可以参考:Window ...
- marquee-:模拟弹幕
marquee:基本已被弃用!!1 可以模拟弹幕效果 1.方向:direction up right left down ...