按照分类的名称统计每个分类商品所花的总钱数【排序查询】

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)的更多相关文章

  1. 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(2)

    1.1.1    对数据库中表的记录进行操作(*****) 1.1.1.1   对数据库中表记录插入操作 [语法] 向数据库表中插入某些列:insert into 表名 (列名1,列名2,列名3-) ...

  2. 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(1)

    1.1.1    对数据库的表进行操作 1.1.1.1   对数据库中表进行创建 [语法:] create table 表名( 列名 列类型 [列约束], 列名 列类型 [列约束], 列名 列类型 [ ...

  3. 带你玩转JavaWeb开发之六-mysql基本语法详解及实例(3)

    [语法] update 表名 set 列名=列值,列名=列值 -[条件]; [注意事项] * 修改的列的值需要与列的类型一致. * 修改的列的值的长度不能超过列的类型的最大长度. * 字符串类型和日期 ...

  4. mysql 触发器语法详解

    1.创建Mysql触发器: 语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BE ...

  5. 带你玩转JavaWeb开发之五-如何完成响应式开发页面

    响应式页面开发 使用BootStrap开发一个响应式的页面出来 响应式开发就是同一个页面在PC端与手机端Pad端显示不同的效果,以给用户更好的体验 需求分析 开发一套页面,让用户能够在PC端, Pad ...

  6. 带你玩转JavaWeb开发之四 -如何用JS做登录注册页面校验

    今日内容 使用JQuery完成页面定时弹出广告 使用JQuery完成表格的隔行换色 使用JQuery完成复选框的全选效果 使用JQuery完成省市联动效果 使用JQuery完成下列列表左右选择 使用J ...

  7. 带你玩转JavaWeb开发之三 -JS插件实战开发

    前提:需要掌握的知识点           填写HTML代码 Element元素中有一个innerHTML属性,这个属性可以填写一段html代码 innerHTML = "<font ...

  8. 带你玩转JavaWeb开发之三 - CSS从基础到实战

    一,什么是CSS? Cascading Style Sheets层叠样式表           层叠:就是层层覆盖叠加,如果有多种样式对同一html标签进行修饰,样式有冲突的部分应用优先级高,不冲突的 ...

  9. 带你玩转JavaWeb开发之一 - HTML快速入门

    一,html简介 1,html是什么 Html是用来描述网页的一种语言. (1)HTML 指的是超文本标记语言 (Hyper Text Markup Language) (2)HTML 不是一种编程语 ...

随机推荐

  1. FluentValidation

    git :https://github.com/JeremySkinner/FluentValidation Example using FluentValidation; public class ...

  2. Ubuntu设置环境变量 16.04

    打开终端并输入: sudo gedit /etc/environment. 2 输入用户密码.这时输入的密码是不可见的. 3 如图,在PATH="...."的末尾处添加: :/op ...

  3. 如何解决自动加载与模板中(如Smarty)的自动加载冲突的问题

    function aotuman($class){  include('./'.$class.'.class.php'); } spl_autoload_register('automan');  / ...

  4. HTML行为元素和块级元素及语义化

    块级元素 div - dl - form 交互表单h1 - h6 标题 hr 水平分割线p 段落ul 非排序列表table 表格 行内元素 a 链接br 换行em 强调i 斜体img 图片input ...

  5. 2.goldengate日常维护命令(转载)

    goldengate日常维护命令 发表于 2013 年 7 月 4 日 由 Asysdba 1.查看进程状态 GGSCI (PONY) 2> info all 2.查看进程详细状态,有助于排错 ...

  6. linux安装open block chain

    Compile the source code Step 1. 安装git sudo apt-get install git Step 2. 安装vagrant(ubuntu系统) 下载地址https ...

  7. Daily Scrum Meeting ——SixthDay

    一.Daily Scrum Meeting照片 佳恺请假了...可能去约会了罢 二.Burndown Chart 欣慰,但是还是感到"鸭梨山大"! 三.项目进展 1.活动列表查询功 ...

  8. 首师大附中互测题:50229234海岛帝国:独立之战【C002】

    [C002]50229234海岛帝国:独立之战[难度C]———————————————————————————————————————————————————————————————————————— ...

  9. iOS __weak __strong WeakSelf StrongSelf

    在block中常常会用到self,可是会造成循环引用.这时候就需要这样来解决这个问题: #define WeakSelf __weak typeof(self) weakSelf = self #de ...

  10. CodeForces 514B

    B. Han Solo and Lazer Gun time limit per test 1 second memory limit per test 256 megabytes input sta ...