mysql基础&重点知识总结及在python中的应用(2)

来源:互联网 发布:ubuntu优麒麟 编辑:程序博客网 时间:2024/05/18 20:50

分组(group by)

  • 按照字段分组,表示此字段相同的数据会被放到一个组中
  • 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中
  • 可以对分组后的数据进行统计 ,做聚合运算
  • 语法

    select 列1,列2,聚合…from 表名 group by 列1,列2,列3…

  • 查询男女生总数

    select gender as 性别,count(*)
    from students
    group by gender;

分组后的数据筛选

  • 语法:

    select 列1,列2,聚合… from 表名
    group by 列1,列2,列3…
    having 列1,…聚合…

  • having后面的条件运算符与where的相同

  • 查询男生总人数

    方案1:
    select count(*)
    from students
    where gender=1
    方案2:
    select gender as 性别,count(*)
    from students
    group by gender
    having gender=1


对比where与having
  • where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
  • having是对group by分组后的结果进行筛选

排序


  • 语法:

select * from 表名
order by 列1 asc|desc,列2 asc|desc,…
如果元素的列1值相同,则按列2值排列
asc是从小到大,即升序;desc是从大到小,即降序

原创粉丝点击