我有下面的查询,它引起了我的问题。这是总罚款,但由于我有不同的服务日期,它的分组不同的服务,然后服务,但我只想要不同的地区与总数下。我现在很困惑,怎么解决这个问题呢!
SELECT DISTINCT(DISTRICT),
Sum(completed) as TotalCompleted,
MONTHNAME,
MONTH
FROM( SELECT TBL_PROPERTY.DISTRICT,
TBL_SERVICE.SERVICEDATE,
DATENAME(MONTH, SERVICEDATE) AS MONTHNAME,
CONVERT(INT,CONVERT(VARCHAR,DATEPART(YEAR, SERVICEDATE) + '00')) + DATEPART(MONTH, SERVICEDATE) AS MONTH,
COUNT(tbl_property.Propref) AS Completed
FROM TBL_SERVICE INNER JOIN TBL_PROPERTY ON TBL_SERVICE.PROPREF = TBL_PROPERTY.PROPREF
WHERE (TBL_PROPERTY.CONTRACT ='ma2') AND
(LASTSERVICEDATE BETWEEN '01/jun/2009' AND DATEADD(hh,23,'15/jun/2009')) AND
(NOT (TBL_SERVICE.BILLCODE1 = 'NA')) AND
(TBL_SERVICE.STATUS = 'Serviced') AND
(PROPERTYCLASS = 'cont')
GROUP BY DISTRICT, servicedate
) As sub1
GROUP BY DISTRICT, monthname, month, Completed示例数据
举个例子,我现在看到
District1 -2-6月District1 -5-6月
我想看看
District1 -7-6月
发布于 2009-06-22 13:37:00
如果我没看错的话,你只想看到DISTRTICT,SUM(已完成)。如果是这样的话,你应该
SELECT DISTRTICT, SUM(COMPLETED) FROM...在最后
GROUP BY DISTRICT编辑:
对于更新后的请求,我建议您执行以下操作:
SELECT DISTRTICT, SUM(COMPLETED), MONTHNAME FROM...在最后
GROUP BY DISTRICT, MONTHNAME发布于 2009-06-22 13:28:43
我还没有彻底检查过它,但看起来你的问题是你已经“完成”了,这是你最后在你的组中的聚合。
将最后一行更改为如下所示,看看是否有效。
GROUP BY DISTRICT, monthname, monthhttps://stackoverflow.com/questions/1027168
复制相似问题