zoukankan      html  css  js  c++  java
  • 关于SQL的Group By

    SELECT col1, col2, col3, sum(col3) from T1
    WHERE col1>20
    GROUP BY col1, col2, col3, col4
    HAVING count(*) > 2;

    对于含有Group By的Sql语句,需要注意以下两点

    1. SELECT后面的字段一定是GROUP BY后面的字段的子集。当然可以出现集合函数,集合函数中的字段没有特殊要求。

    SELECT后不能有其他字段呢,因为当SQL中含有Group By时,查询出来的结果一定是针对组的一些共同的信息。如果某个字段不在Group By中而出现在SELECT后,那么这个字段是属于某条记录的,是“个性”,而不属于某个组的“共性”。五花八门的“个性”是无法在组信息里显示出来的。

    2. HAVING与WHERE的区别是,HAVING后面的条件是集合函数。

  • 相关阅读:
    cygwin mysql forget root password
    emacs 复制粘贴的正确姿势
    yarn
    mysql 和 postgresql 区别
    hdfs
    spark
    hbase
    kafka
    flume
    java jar
  • 原文地址:https://www.cnblogs.com/james6176/p/3457833.html
Copyright © 2011-2022 走看看