Group by的使用方法

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Group by的使用方法sql中如果要分组查询,一般都会使用到group by语句,如何熟练使用group by语句呢,我分以下几点进行总结。

Group by与聚合函数Group by与Having需要注意的地方Group by与聚合函数group by一般与聚合函数一起使用。这是因为group by之后结果集就变成了多个分组,而每个分组可能包含多条记录,要想针对每个分组进行操作,所以必须使用可以作用在多条记录上的聚合函数。比如,下面的示例就使用了group by和聚合函数查询每个PNR的总记录数,sql语句如下。

1 -- 1,Group by与聚合函数2 -- 查询每个PNR的总记录数3 SELECT NewPNR,COUNT(*) FROM dbo.Remotesession4 GROUP BY NewPNR;

如果要对分组进行筛选呢?要怎么实现,请继续往下看。

Group by与Having要对分组后的结果进行筛选,一般使用having语句来实现。请看下面示例,代码如下。

1 -- 2,Group by与Having2 -- 查询总记录数>1(或者说有重复的)的PNR3 SELECT NewPNR,COUNT(*) FROM dbo.RemoteSession4 GROUP BY NewPNR5 HAVING COUNT(*)>1;

需要注意的地方关于group by的使用,有几个特别需要关注的地方。

select语句指定的字段要么包含在group by语句中作为分组的依据;要么就要被包含在聚合函数中(比如:count,sum等)。注意where与having的区别,where是在分组前对结果集进行过滤,而having是对group by分组后的结果集进行过滤。参考资料

SQL中Group By的使用sql group by 与 having的用法深入浅出SQL教程之Group by和Having

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航