我有以下SQL:SQL UNION总和
select distinct cat, sum(cnt)
from
(
select distinct prcIncidentManagement.CallCategory cat, count(eFolder.eFolderName) cnt
from prcIncidentManagement
inner join eFolder
on prcIncidentManagement.EFOLDERID=eFolder.eFolderID
group by prcIncidentManagement.CallCategory
union all
select distinct prcRequestFulfilment.CallCategory cat, count(eFolder.eFolderName) cnt
from prcRequestFulfilment
inner join eFolder
on prcRequestFulfilment.EFOLDERID=eFolder.eFolderID
group by prcRequestFulfilment.CallCategory
) results
order by 1
我发现很难总结总的和组它靠在呼叫类别作为错误信息如下:
列“results.cat”在选择列表中无效,因为包含在聚合函数或GROUP BY子句是不
反正这个呢?
你也需要一个顶级的GROUP BY。 – jarlh
在查询中同时拥有DISTINCT *和* aggregation(GROUP BY,SUM)是非常非常罕见的事情。你究竟想达到什么目的?为什么GROUP BY不够?为什么你认为你必须对聚合结果使用DISTINCT? –
你究竟想在这里算什么?它*看起来像你只是在计算一个类别的prcIncidentManagement和prcRequestFulfilment中有多少条记录。是它还是它背后更多? –