mysql数据库的统计------生成统计信息

1.distinct:在一组之中将各个唯一的值找出来,如找出所有的品牌种类

mysql>select distinct brand_kind from brand;
+---------------+
| brand_kind |
+---------------+
| A                |
| B                |
| C                |
+---------------+

2.计数统计,使用count(*),若没有带where子句,则将统计当前表的行数

a.统计brand中的行数

mysql> select count(*)from brand;
+-----------+
| count(*) |
+-----------+
| 5            |
+-----------+

b.统计一下brand表中brand_kind字段中品牌的数量
mysql>select count(distinct brand_kind) as brandkind_count from brand;

+----------------------+
| brandkind_count |
+-----------------------+
| 3                          |
+-----------------------+
c.添加where子句的count(*)统计,统计出where子句筛选出来的数据的条数。
统计出来trade表中订单时间为2017年10月的数据条数
mysql> select count(*) from trade where trade_time=201710;
+-----------+
| count(*) |
+-----------+
| 6            |
+-----------+
d.区别count(*),count(字段名),count(distinct good_kind)区别。count(*)统计被查数据的行数,count(字段名)统计该字段非NULL的数据条数,count(distinct good_kind)统计出被查数据种类数量。

mysql> select count(*), count(good_kind),count(distinct good_kind) from trade;
+-----------+------------------+----------------------------------------+
| count(*) | count(good_kind) | count(distinct good_kind) |
+----------+------------------+-----------------------------------------+
| 8           | 7                    | 3                                               |
+----------+------------------+-----------------------------------------+

e.根据group by 语句对字段进行分组,然后联合聚合函数对数据进行查询,统计操作。
聚合函数
max(),min(),sum(),count(),avg()

内连接
select *from brand,trade where brand.brand_id=trade.brandid;
左外连接
left outer join:返回包含左表中的所有的纪录和右表中连接字段相等
right outer join:返回包含右表中的所有的纪录和左表中连接字段相等

select distinct brand_kind, count(distinct userid) as user_num,count(distinct trade_id) as trade_num,sum(money) from brand left outer join trade on brand.brand_id=trade.brandid where trade_time=201710 group by brand_kind;

mysql关联查询的更多相关文章

  1. MySQL关联查询总结

    MySQL中经常使用关联查询,有机会总结下: 1 left join(左联查询): 返回包括左表中的所有记录和右表中联接字段相等的记录 例:select * from a left join b on ...

  2. mysql 关联查询 索引不起作用原因记录

    业务逻辑如下:查询某篇文章的评论列表,且列出评论人及被评论人的昵称.头像. 先看一下表结构 评论表: 评论表的索引: 用户表: 用户表的索引: 查询语句如下: SELECT t1.comment_id ...

  3. mysql关联查询和联合查询

    一.内联方式 1.传统关联查询 "select * from students,transcript where students.sid=transcript.sid and transc ...

  4. MySQL☞关联查询

    关联查询:所需要的数据来源于多张表,通过表的连接查询(关联查询)来查询多张表中的数据 格式: select 别名1 . */列名 , 别名2 . */列名 from 表名1  别名1 , 表名2  别 ...

  5. mysql 关联查询技巧

    废话不多说,直接进入正题 #数据准备 班级表class: CREATE TABLE `class` ( `class_no` ) unsigned zerofill NOT NULL AUTO_INC ...

  6. [mysql] 关联查询sql记录

    //查询账单关联订单 select o.id as id, o.order_no as orderNo, o.case_no as caseNo, o.send_time as sendTime, o ...

  7. MySQL 关联查询 内连接

    内连接    [INNER| CROSS] JOIN无条件内连接:无条件内连接,又名交叉连接/笛卡尔连接第一张表种的每一项会和另一张表的每一项依次组合#例:mysql>  select  *  ...

  8. mysql 关联查询的执行顺序

    STRAIGHT JOIN : 能强制按照顺序关联表(应该是)

  9. MySQL 关联查询  外连接 { LEFT| RIGHT } JOIN

    左外连接: (以左表为基准)两张表做连接的时候,在连接条件不匹配的时候留下左表中的数据,而右表中的数据以NULL填充例:使用左连接把学生的数据全取出来,该学生没有学院信息的用NULL填充 mysql& ...

随机推荐

  1. es备份索引

    1.解压https://github.com/medcl/esm-abandonedhttps://github.com/medcl/esm-abandoned/releases tar xf lin ...

  2. xml布局文件

    https://blog.csdn.net/u013475386/article/details/44339035 gravity写在容器中中 layout_gravity写在控件中 layout_m ...

  3. Django中间件的执行流程

    Django中间件的执行流程. 请求到达中间件之后,先按照正序执行每个注册中间件的process_reques方法,process_request方法返回的值是None,就依次执行, 如果返回的值是H ...

  4. python进阶06 常用问题库(2)datetime模块 base64

    python进阶06 常用问题库(2)datetime模块 base64 一.datetime模块(时间) 1.datetime.time() t=datetime.time(20,43,30,1) ...

  5. UVaLive6435(dp)

    要点 题意:两个数据传输数列,每个数列里有若干个数据包并给出发出时间\(t\),每个数据包到达的时间\(T\)是\(t <= T < t + D\),问有多少种到达序列. 将题目转化为第二 ...

  6. 熔断降级(Polly)

    熔断降级(Polly) https://www.cnblogs.com/qhbm/p/9224307.html 一. 什么是熔断降级 熔断就是"保险丝".当出现某些状况时,切断服务 ...

  7. Table行合并操作

    此方法不可取,但几天心血 保留,已有新想法,稍后会出一个完善的Table行列合并方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...

  8. java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class gnu.xml.dom.JAXPFactory的解决办法(图文详解)

    不多说,直接上干货! 问题详情 java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this J ...

  9. 《从0到1学习Flink》—— 如何自定义 Data Source ?

    前言 在 <从0到1学习Flink>-- Data Source 介绍 文章中,我给大家介绍了 Flink Data Source 以及简短的介绍了一下自定义 Data Source,这篇 ...

  10. vi命令使用

    在vi下如何显示行号? 按Esc切换到命令行模式,输入: :set nu 如果您想每次进入vi都标出行号,编辑~/.vimrc文件.也就是在用户的主目录下,编辑存档.vimrc文件.里边写一行: se ...