where也是和groupby一样显示符合条件的记录在group中所有字段?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了where也是和groupby一样显示符合条件的记录在group中所有字段?相关的知识,希望对你有一定的参考价值。

没太看懂意思。

where是会过滤掉数据的,group by只是分组汇总,group by的having子句也是会过滤掉数据的。可以再把问题说清楚一点
参考技术A where 是条件查询 group只是排序....

使用Having子句

Having 子句与where子句的功能类似,都是对行进行筛选。但是,where搜索条件是在分组操作之前对记录进行筛选,然后再由group BY 对筛选后符合条件的行进行分组;而Having搜索条件则是对分组操作之后得到的行进行筛选操作。在Having子句中可以包含聚合函数,而where子句不能。

下面是WhereGroup ByHaving子句的正确顺序;

1.Where 子句用来筛选From 子句中指定的操作所产生的行;

2.Group By 子句用来分组Where子句的输出;

3.Having 子句用来从分组的结果中筛选行。

没有Group By子句的情况下,Having子句和Where子句功能完全相同,但是使用Where子句会更高效。因为Where 子句能够事先把不必要的数据过滤掉,从而减少了在执行select时数据处理量。但是,有些数据事先并不知道是否需要过滤掉,要根据结果才能确定,者时候就必须使用having子句解决

 

use addinr
    Go
    Select proid,Sum(lin) as to
    from sales
    group By proid
    Having sum(lin)>$100000.00


use addinr
    Go
    Select proid,Sum
    from sales
    where name=222 Having sum(lin)>$100000.00

 

以上是关于where也是和groupby一样显示符合条件的记录在group中所有字段?的主要内容,如果未能解决你的问题,请参考以下文章

Sql

单表查询

SQL中where和group by可以连用吗?having算是对检索条件的补充吗?

mysql 基础明细

使用Having子句

sql语句有关where,group by,having的问题