mysql学习之基础篇05
mysql中的统计函数:
1. 查询商品价格中最高的价格:
select max(shop_price) from goods;

2. 查询商品价格中最低的价格:
select min(shop_price) from goods;

3. 求库存总量:
select sum(goods_number) from goods;

4. 查看所有商品的平均价格:
select avg(shop_price) from goods;

5. 统计商城内共有多少种商品(不是多少个):
select count(*) from goods;

count()函数是统计行数值,之所以用count(*)而不用count(列名)是因为如果该列有一行为空,那么count(列名)不会把它计算在内。
看个小例子:

就算有某一行全是空,用count(*)也能把它计算在内:

统计函数单独使用意义不大,要和分组配合起来才有用:
mysql 之 group by 分组查询:
计算一下第三个栏目下所有商品的库存量之和:
select cat_id,sum(goods_number) from goods where cat_id=3 group by cat_id;

一次计算完每一个栏目下的库存量之和:
select cat_id,sum(goods_number) from goods group by cat_id;

严格的讲,以group by a,b,c为列,select的列只能在a,b,c或者是统计函数中选择,这样在语义上才没有矛盾。
做个小练习:有以下成绩表,求出挂科数等于或高于2门的学生的平均成绩:

select name,avg(score),sum(score<60)as fail from test5 group by name having fail >=2;

排序:order by
取出第四个栏目下的商品,把价格由高到低进行排序:
select *from goods where cat_id=4 order by shop_price desc; #desc 代表降序排列

按栏目升序排列,同一个栏目下的商品按价格降序排列:
select * from goods order by cat_id asc,shop_price desc;

限制输出条目limit:
取出商品价格前十的商品:
select goods_id,goods_name,cat_id,shop_price from goods order by shop_price desc limit 10;

最后强调一点:Where,group by,having,order by,limit 五个子句顺序不能乱!
mysql学习之基础篇05的更多相关文章
- mysql学习之基础篇01
大概在一周前看了燕十八老师讲解的mysql数据库视频,也跟着学了一周,我就想把我这一周所学的知识跟大家分享一下:因为是第一次写博客,所以可能会写的很烂,请大家多多包涵.文章中有不对的地方还请大家指出来 ...
- mysql学习之基础篇08 UTF8编码
这次我们来说一下在Mysql中的编码问题: 我们知道应用于计算机的最早的字符集是ASCII,它所组成的编码是ASCII编码:由于对于其他国家来说它所容纳的字符个数比较少,后来就出现了ANSI字符集,它 ...
- mysql学习之基础篇04
五种基本子句查询 查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询: 首先我们先建立一张商品表:goods 由于商品数目太多,我就不一一列举了. 在这里我 ...
- mysql学习之基础篇03
我们今天来进行建表的基本操作: 首先要建表就要了解列类型,因为建表就是声明列的过程,列声明完成了,表也就建好了. mysql中列分为三大类: 一.数值型 数值型又分为整型和浮点型两种. 先来看整型: ...
- MySQL学习之基础篇09-事务
我们在建表的时候通常会在最后声明引擎类型,这次我们就来看看存储引擎都有哪些: 举个例子: --------------------------- 银行转账: 张三想给李四转500元钱: 张三-500 ...
- mysql学习之基础篇07
视图:view 在查询的时候我们经常把查询到的结果当成一张临时表来看,其实view就可以看成一张虚拟表,是表通过某种运算得到的投影 那么如何创建视图?创建视图需要指定视图的列名和列类型吗? 答:不用, ...
- mysql学习之基础篇06
子查询:又分为where型子查询,from型子查询,exists型子查询这三类. where型子查询:指把内层查询的结果作为外层查询的比较条件: 举个例子: 我们想查出goods_id最大的商品,要求 ...
- mysql学习之基础篇02
我们来说一下表的增删改查的基本语法: 首先建立一个简单的薪资表: create table salary(id int primary key auto_increment,sname varchar ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
随机推荐
- SqlServer Stuff
SqlServer Stuff DECLARE @TAB TABLE ( UserID INT, UserName ) ) INSERT INTO @TAB ( UserID, UserName ) ...
- LIST<>泛型集合取得对象的属性值
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- [LeetCode] 340. Longest Substring with At Most K Distinct Characters 最多有K个不同字符的最长子串
Given a string, find the length of the longest substring T that contains at most k distinct characte ...
- JS 各种引擎介绍
JS 各种引擎介绍 http://www.oschina.net/project/tag/296/javascript-engine 不同浏览器有不同的JS引擎: WebKit , Safari浏览器 ...
- NLP理解层次 --- 思维导图
- AppCrawler运用总结
一.环境 1.环境准备:安装安卓SDK + 真机 + appcrawler-2.1.3.jar 在放 appcrawler-2.1.0.jar 的文件夹下执行以下命令: 1.生成yml的demo:ja ...
- IP address '121.41.35.30' could not be resolved: Name or service not known解决方法
IP address '121.41.35.30' could not be resolved: Name or service not known解决方法 添加如下 然后重启 即可解决<pre ...
- [转帖]Linux教程(13)- Linux中的通配符和正则表达式
Linux教程(13)- Linux中的通配符和正则表达式 2018-08-22 06:16:44 钱婷婷 阅读数 39更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文 ...
- Redis的5中数据类型及应用场景
Redis的全称是Remote Dictionary Server,本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据Flush到硬盘行 ...
- hive学习(1)
什么是Hive Hive是基于Hadoop的一个数据仓库工具(E抽取T转换L加载),可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. 本质是:将HQL转化成MapReduce程序 Hive ...