Sql server 2008 r2 sql,将不包含聚合和多个表的查询分组
我需要按dda.LA对下面的查询进行分组,并需要显示select中列出的所有列,但几乎没有一列是聚合的。我不知道这是什么语法,我也找不到一篇文章来展示这种语法。大多数示例只有一个表,上面有两个Sql server 2008 r2 sql,将不包含聚合和多个表的查询分组,sql-server-2008-r2,group-by,inner-join,Sql Server 2008 R2,Group By,Inner Join,我需要按dda.LA对下面的查询进行分组,并需要显示select中列出的所有列,但几乎没有一列是聚合的。我不知道这是什么语法,我也找不到一篇文章来展示这种语法。大多数示例只有一个表,上面有两个 Select dda.a, dda.b, dda.c, dda.d, dda.e, dda.f, dda.g, dda.h, dda.i, dda.j, dda.k, dda.l, dda.m,
Select dda.a,
dda.b,
dda.c,
dda.d,
dda.e,
dda.f,
dda.g,
dda.h,
dda.i,
dda.j,
dda.k,
dda.l,
dda.m,
dda.n,
dda.o,
dda.p,
dda.r,
dda.u,
dda.LA,
dd.aa,
coalesce(apn.apn,Pt.z) as abc,
coalesce(apn.v,Pt.y) as def,
'RFN' RowFocusIndicator ,
'SRI' SelectRowIndicator ,
'Y' Expanded ,
Convert(Int, Null) SortColumn
From dda (NoLock)
Inner Join dd (NoLock) On dda.d = dd.q and dda.e = dd.e
Left Outer Join apn (nolock) on dda.r = apn.r
Left Outer Join Pt (nolock) on dda.s = Pt.t
Where 1 = 1
And dda.u = (Select Min(c.w)
From c (NoLock)
Where c.x = dda.s)
谢谢 只需将其添加到要通过以下方式聚合的任何列中:
AggregatedColumnName = Aggregation(fieldToAggregate) Over (Partition By dda.LA)
前
什么数据库系统,哪个版本??SQL只是结构化查询语言-一种被许多数据库系统使用的语言-SQL不是数据库产品。。。像这样的东西通常是特定于供应商的-所以我们真的需要知道您使用的是什么数据库系统。。。。请相应地更新标记。您必须通过说出group by dda.a、dda.b、dda.c…来向group提及select列表中的所有列。这样做将返回与不带group的select语句相同的行数。。
aCount = Count(dda.a) Over (Partition By dda.LA)