zoukankan      html  css  js  c++  java
  • Mysql关键词之 group by的使用

    where -group by-having-order by-limit 

     总结借鉴 :https://blog.csdn.net/q1054261752/article/details/48156177

    group by 把重复的行字段归纳为一个字段 如name有两个张三 即归为一个张三 即缩为一行数据

    group by 字句总是跟在where 子句后面,但where 子句缺省时,跟在from 后面
    简单来讲  配合计算使用 先分组再计算
    单独使用 只显示每个分组的一条记录 意义不大 和集合函数配套使用最好
    先将其分组完再看每个分组的总数或平均等
    和group_concat(name)一起使用 分组完groupby sex;可以查询这个年龄段的所有人姓名
    可以很好的把分组情况展示出来
    加上having可以限制输出的结果 一般和聚合函数使用 比如查出年龄18的有几人 再用having
    限定人数大于多少的显示
    和with rollup一起使用 可以对聚合函数显示全部值 如下决定12的出现
    eg: SELECT 性别,COUNT(性别) FROM 表 GROUP BY 性别 WITH ROLLUP;

    性别   个数
    男:     10
    女:     2
             12
    where是对表或视图查询限定

    where 需在group by前面 先限定条件再分组 where age>18 group by name

     原表有10个人 但是先判断大于18的 所以刷掉了两个不符合的 再根据姓名分组

    having 是分组后再限定条件 一般和聚合函数一起使用 什么最高最低平均 数量大于多少啦什么的   where group by having三个关键词也可一起使用

    group by 和 orderby 在orderby前面使用 先分组再按顺序排列

     

    limit 0/1    单数字0查询0条 1查询1条

    limit 2,3    双数字 第一位代表2+1 从第三个id开始查询   第二位代表查询的总条数3条  大数据下第一位可用where id>2代替 提高查询效率 

    limit 在范围查询下可以提高查询效率

    比如登陆时确认用户名 如果在数据库中存在该用户名 找到对应的用户名停止检索 如不加limit会全盘检索再返回用户名

    inner join 返回关联的条件

    用on连接两表 如不写inner join用where连接两表

    left join 返回左表全部条件 右表没有显示null right join 相反

  • 相关阅读:
    印度软件外包合作有感
    BAT 技术团队博客
    Android 腾讯入门教程( 智能手表UI设计 和 MVC模式 )
    Android 开源项目及其学习
    Android android:allowBackup waiting for backup
    同步计数器 CountDownLatch
    Android 性能优化之使用Lint
    Android SQLite数据库升级,怎么做(事物更改)
    Google FireBase
    Android Keystore 对称-非对称加密
  • 原文地址:https://www.cnblogs.com/zhenxugan/p/11465945.html
Copyright © 2011-2022 走看看