zoukankan      html  css  js  c++  java
  • 连接查询和分组查询

     比如要查询每个年级的总成绩,一个年级一个年级的输入会显得代码冗余,这时用group by进行每个年级依次查询,代码会精简很多

    分组查询语句:

     比如:要计算每个年级各有多少人?代码如下                             

    select   count(*)as 人数,Grade as 年级

    from student

    group by Grade

    Group by 的作用:

    对查询数据进行分组。

    根据上述代码,在select 中加入聚合函数后,普通列如果不使用group by 则爆红,会提醒使用group by 。

    如果不使用 group by ,能运行出来的话,我猜想运行结果应该是

     所以使用group by 可以算出来每个年级的人数

    注意:order by 对已经查询的信息进行排序。如果我们没有用order by进行排序,并且group by后面有多个列名,那么默认按照group by  

    最后一个列名进行排序,如果想要对某一列进行排序,可以用 order by 。(普遍使用group by前都要加order by)

    分组查询:

    语句:

    Question:  查询表(Student)中地址中包括上海,总人数超过十五的年级

    select   count(*) as 人数,Grade as 年级

    from student

    where address like '%上海%'

    having count(*)>15

    where 和 having 的区别:

    where 对普通列条件的限制

    having 对聚合函数条件的限制

     

  • 相关阅读:
    url的非法字符有哪些
    asp.net各种获取客户端ip方法
    可编辑表格
    菜单弹出隐藏
    淡入淡出窗口
    使用XML传递数据
    Intellij IDEA将工程打包成jar包并执行
    使用JavaScript实现ajax
    AJAX基本演示使用
    统计指定目录下的视频时长
  • 原文地址:https://www.cnblogs.com/yangshuwenzuibang/p/12740330.html
Copyright © 2011-2022 走看看