• 2016/05/10


    聚合函数:

        sount:获得行数目 语法 celect count(*) from 表名

        sum:获得单列的和值 语法 celect sum(列名) from 表名

        avg:平均值 语法 celect  avg(列名) from 表名

        max:最大值  语法 celect  max(列名) from 表名

        min:最小值 语法 celect min(列名) from 表名

    sum只有all 和 distinct 方法没有*规范

    max/min 没有all   distinct 和 * 规范

    数据分组:

       select  列A 聚合函数(聚合函数规范) from 表名 where 过滤条件 group by 列A  / 使用group by 以列A 进行分组

       为什么要分组:对数组统计与聚合函数相结合

    HAVING(having) :

        要与 group by 一起使用没有单独存在的意义

        select 列A ,聚合函数(聚合函数规范) from 表名 group by 列A having 条件 /  分组后再进行过滤

        where 运行在分组前   having 运行在分组后  分组后面不能跟 where 只能跟 having

    技数规范                   丨                          含义

         *                        丨                     计数选择的行,包括null

      ALL(all)               丨            指定列非空值行,如果不带ALL和DISTINCT 这是默认的操作

    DINTINCT(distinct)    丨        计算定列的所有唯一非空值行。并且去掉重复的值

     SQL语句执行顺序:

      ①select    ②from   ③where   ④group by   ⑤order by    ⑥ having

    在mysql中关键字 字段 列名不敏感 但是值应该敏感   数据库中 lower 把字符转为小写   upper 转换为大写

    子查询:

         select   columnA,(子查询)  as   columnB  from 表名

         什么是子查询:嵌套在主查询语句中的查询

    sql语句 select 每次抓取一条记录,如果有相似的那么就继续抓取下一条 最后由工具显示出来

    where中嵌套子查询:

       select columnA  from 表名 where columnB =(子查询)

    ALL运算和ANY

       ALL:需要满足全部

       ANL:满足任意条件即可

    EXISTS(exists):当子查询能查询东西才执行  不然这条语句都不会执行

    相关子查询:(关联子查询    需要的时间会更长)

        ① 执行依赖于外部查询数据

        ② 外部查询返回一行,子查询就执行一次

    非相关子查询:

        ① 独立于外部查询的子查询

        ② 子查询总共执行一次,执行后把值传递给外部查询

    UNION(union) 组合查询(也叫联合查询) UNION ALL 会保存相同的行

       select  列A,列B from 表名

       UNION

       select 列C,列D from 表名

  • 相关阅读:
    柯南君:看大数据时代下的IT架构(3)消息队列之RabbitMQ-安装、配置与监控
    柯南君:看大数据时代下的IT架构(2)消息队列之RabbitMQ-基础概念详细介绍
    看大数据时代下的IT架构(1)业界消息队列对比
    vagrant打造自己的开发环境
    !!运维博客
    git搭建服务器
    Tuxedo入门学习
    ubuntu环境ceph配置入门(一)
    谷歌技术"三宝"之MapReduce
    Eclipse中SVN的安装步骤(两种)和用法
  • 原文地址:https://www.cnblogs.com/chenyangpeng/p/5479179.html
Copyright © 2020-2023  润新知