zoukankan      html  css  js  c++  java
  • MySql 中group by使用

    Group BY字句将查询结果按某一列活多列的值分组,值相等的为一组。

    对查询结果分组的目的是为了细化聚集函数的作用对象。如果未对查询结果分组,聚集函数将作用于整个查询结果。分组后聚集函数将作用于每一个组,即么一个组都有一个函数值。

    GROUP BY语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。

    例子:求各个课程号及相应的选课人数

    select cno,count(sno) from sc group by cno;

    如果分组后还要求按一定的条件对这些组进行筛选,最终只输出满足条件的组,则可以使用having短语指定筛选条件。

    例子:求查询选修了3门以上课程的学生学号

    select sno from sc group by sno having count(*)>3;

    where子句和having短语的区别在于作用对象不同。where子句作用于基本表或者视图,从中选择满足条件的元组。having短语作用于组,从中选择满足条件的组。

    [1] 王珊,萨师煊 数据库系统概论 第三章

  • 相关阅读:
    杭电2074
    关于大整数n!的问题!
    杭电2053
    大整数乘法(高精度)
    JS:获取框架内容
    JQ:hover延迟效果
    jQ+Ajax+PHP 简单实例
    js节省document.getElementById("xxx")的方法
    QQ一键登录功能的实现过程
    点击文字出现文本框
  • 原文地址:https://www.cnblogs.com/mucheng/p/5761756.html
Copyright © 2011-2022 走看看