我在如何构建一个查询来对所有重复项进行求和时遇到一些问题,在下面的这个查询中我可以计算所有出现的次数。
SELECT COUNT (*) occurrences
FROM back.submission s
GROUP BY s.name
HAVING COUNT(*) > 1
----------
|# |occurrences|
|1 | 9 |
|2 | 6 |
|3 | 5 |
|4 | 4 |
|5 | 4 |
|6 | 3 |
....
我想知道如何对所有出现的次数求和,我尝试将计数放入 SUM 中,但它不起作用
您想要另一个级别的聚合吗?
SELECT COUNT(occurrences) AS count_of_duplicates, SUM(occurrences) AS sum_of_duplicates
FROM (
SELECT COUNT (*) occurrences
FROM back.submission s
GROUP BY s.name
HAVING COUNT(*) > 1
) t
SELECT #,count(*) As Total FROM back.submission GROUP BY # HAVING COUNT(*) > 1;
With CTE
As
(
Select [#],Count([*]) As Total From back.submission Group By [#]
)
select [#],Total From CTE Where Total>1