• group by,order by,having


    group by:使用其中的一个字段的值来进行分组,select中的字段只能是group by中被分组的字段,或者聚合函数,如:count(),max()等

    where在前,group by在后:先用where过滤掉不进行分组的数据,然后对剩下的数据进行分组

    having是在分好组后找出特定的分组,oracle数据库中having可以放在group by的前面或后面,mysql中必须放在group by的后面

    当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序是:
    1.执行where xx对全表数据做筛选,返回第1个结果集。 2.针对第1个结果集使用group by分组,返回第2个结果集。
    3.针对第2个结果集中的每1组数据执行select xx,有几组就执行几次,返回第3个结果集。
    4.针对第3个结集执行having xx进行筛选,返回第4个结果集。 5.针对第4个结果集排序。

    Group By 和 Having, Where ,Order by这些关键字是按照如下顺序执行的:Where, Group By, Having, Order by。

    order by 后面必须列出排序的字段名,可以是多个字段名,more的排序为升序

     group by和order by一起使用时,order by要在group by的后面并且order by的列应该是group by中的列

  • 相关阅读:
    java.lang.NoSuchMethodError:antlr.collections.AST.getLine() I
    T7 java Web day01 标签HTML
    T6 s1 day19
    T5 s5 Day18
    T5 s4 Day 17
    T5 s3 day16
    T5 s2 Day 15
    T5 s1 day14
    T4 S03 day 12
    T4 S01 day1
  • 原文地址:https://www.cnblogs.com/xing-29391/p/15015778.html
Copyright © 2020-2023  润新知