Qui*_*gan 3 sql sql-server sql-server-2008
我目前有:
SELECT Name, COUNT(*) as Total
FROM DataTable
WHERE Name IN ('A', 'B', 'C')
GROUP BY Name
Run Code Online (Sandbox Code Playgroud)
结果输出:
Name Total
--------------
A 2
B 5
C 3
Run Code Online (Sandbox Code Playgroud)
相反,我想要这个:
Name Total
--------------
A 10
B 10
C 10
Run Code Online (Sandbox Code Playgroud)
这里10是总共2 + 5 + 3(名称= A/B/C的记录总数)
我该怎么做呢?
要获得所需的结果,您可以SUM() OVER ()在分组上使用COUNT(*).演示
SELECT Name,
SUM(COUNT(*)) OVER () as Total
FROM DataTable
WHERE Name IN ('A', 'B', 'C')
GROUP BY Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |