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. 洛谷P3884 二叉树问题

    题目描述 如下图所示的一棵二叉树的深度.宽度及结点间距离分别为: 深度:\(4\) 宽度:\(4\)(同一层最多结点个数) 结点间距离: \(⑧→⑥为8 (3×2+2=8)\) \(⑥→⑦为3 (1× ...

  2. 详解环境搭建SSM

    1.概述: SSM即为spring 4 +spring mvc +mybatis 3.4.6 推荐使用maven或者gradle 来配置 下面给出maven配置方式 2.项目结构: 新建web项目 这 ...

  3. 在线获取键盘按键值(ascii码)工具

    在线获取键盘按键值(ascii码)工具 http://www.bejson.com/othertools/keycodes/ 可以根据输入的值获取对应的键盘ascii码值

  4. js:常用到的js操作记录

    1:对参数去除空格 str.replace(/^\s+|\s+$/g, '');

  5. 微服务的.NET Core示例框架

    eShopOnContainers 是一个基于微服务的.NET Core示例框架 https://www.cnblogs.com/fengqingyangNo1/p/9438428.html 找到一个 ...

  6. js和jq中常见的各种位置距离之offsetLeft和position().left的区别(四)

    offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(不包括元素的边框和父容器的边框).position().left:使用position().left ...

  7. Sticky Footer的实现

    Sticky Footer即绝对底部,是一种常用的布局方式,页脚在内容区未超出窗口高度时一直保持在最底部显示,而超过窗口高度时则保持在内容区最底部. 有两种实现方法: 第一种:经典的实现方式 html ...

  8. (转) RHEL7 忘记密码修改root密码

    博客链接:http://blog.csdn.net/derkampf/article/details/54346516 RHEL7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ct ...

  9. ubuntu中安装vsftp

    1.安装 $ sudo apt-get install vsftpd 2. 配置 需要配置文件/etc/vsftpd.conf 来进行设置参数以对FTP进行控制,包括访问权限,流量等进行控制. 执行s ...

  10. linux创建文件的四种方式(其实是两种,强行4种)

    linux创建文件的四种方式: 1.vi newfilename->i->编辑文件->ESC->:wq! 2.touch newfilename 3.cp sourcePath ...