繁体   English   中英

MAX(Transact-SQL)

[英]MAX (Transact-SQL)

我开始学习SQL并在下面进行查询。 它提取了我需要的数据,但没有提取最大的benmon ,而是显示了所有月份。 有什么建议么?

select distinct a.casenum+a.type as AG, a.casenum, d.access_number,d.action,d.dateReceived, a.type, b.region, b.admin, b.unit, b.PAS, a.received, a.due, a.timestd, a.dayspend, a.dayspend-a.timestd as BeyondStd, b.imagedate, d.localUse,e.benmon,e.yyyymm
into #temp131
FROM AMS.dbo.pendingactions a, AMS.dbo.cases_daily b, AMS.dbo.ags_daily c, sandbox.dbo.workitems17 d, datamart.dbo.fsissue17 e
where a.item='APPL' and a.casenum=b.casenum and a.casenum+a.type=c.ag and a.casenum=d.casenum and a.casenum=e.casenum
AND b.admin='88126' and b.region='SC' and d.status <> 'app dis' 
  GO
update #temp131 set BeyondStd='' where BeyondStd<1
  GO
select region, admin,unit,PAS,casenum,access_number,action,max(benmon),yyyymm, type,dateReceived,received, due, timestd, dayspend, beyondstd, imageDate, localuse 
from #temp131  group by region, admin,unit,PAS,casenum,access_number,action,benmon,yyyymm, type,dateReceived,received, due, timestd, dayspend, beyondstd, imageDate, localuse 

从GROUP BY子句中删除benmon

通常,GROUP BY不需要您将汇总应用到的任何列(MIN,MAX,COUNT,SUM等)。

由于您的group by子句中的所有字段,因此每个月都会显示一次。 分组依据将基本上汇总所有字段的所有唯一组合,然后应用聚合。 因此,在您的小组中,依据:

group by region, admin,unit,PAS,casenum,access_number,action,benmon,yyyymm, type

您有yyyymm和benmon两个字段。 因此,它将为每个月创建“组”。 根据其余字段的独特性,组的独特性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM