科技知识动态:GroupbyALL

导读跟大家讲解下有关GroupbyALL,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说GroupbyALL,小编也收集到了有关GroupbyALL的相

跟大家讲解下有关GroupbyALL,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说GroupbyALL,小编也收集到了有关GroupbyALL的相关资料,希望大家看到了会喜欢。

Group by ALL 。和不加ALL差别就是加了ALL后包含所有组和结果集,甚至包含那些其中任何行都不满足 WHERE 子句指定的搜索条件的组和结果集。注意的是指定了 ALL,将对组中不满足搜索条件的汇总列返回空值。declare @t table(id int,col char(2))insert @t sel

Group by ALL 。和不加ALL差别就是加了ALL后包含所有组和结果集,甚至包含那些其中任何行都不满足 WHERE 子句指定的搜索条件的组和结果集。注意的是指定了 ALL,将对组中不满足搜索条件的汇总列返回空值。declare @t table(id int,col char(2))insert @t select 1,'a'insert @t select 1,'a'insert @t select 2,'a'insert @t select 3,'a'insert @t select 3,'a'insert @t select 4,'a'insert @t select 5,'a'insert @t select 5,'a'insert @t select 5,'a'--1select id,COUNT(1)from @tgroup by id--2select id,COUNT(1)from @twhere id < 3group by id针对上面的数据我们可以得到显而意见的结果 : 那么如果我们想要得到如下结果呢?--显然大家一看就知道我的意思了吧,常规有人一定会union联合、子查询什么的吧,有没有想过其实可以简单点呀,看看下面的语法:--3select id,COUNT(1)from @twhere id < 3group by all id 结果大家自己运行一下就有答案了。最后后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,如果以后的项目里有使用的话还是着手修改当前还在使用该功能的应用程序吧。另外还得注意三点:1、CUBE 或 ROLLUP 运算符不能和ALL同时使用。2、如果在访问远程表的查询中还有 WHERE 子句,则该查询不支持 GROUP BY ALL。3、对于具有 FILESTREAM 属性的列,GROUP BY ALL将不被支持。

来源:php中文网

免责声明:本文由用户上传,如有侵权请联系删除!