假设我们有这样的行:
我的表
ID Name Product
------------------
1 Adam x
2 Adam y
3 Adam z
4 Peter a
5 Peter b
使用如下查询:
Select Name, Count(Product) from MyTable
group by Name
结果将是:
Adam 3
Peter 2
但我想要这样的结果:
1 Adam x 3
2 Adam y 3
3 Adam z 3
4 Peter a 2
5 Peter b 2
我希望Ypu明白我的意思 你能帮我解决这个问题吗? 感谢帮助, 再见
最佳答案
您可以通过在表上运行的子查询来连接表以选择计数:
SELECT a.ID as ID, a.Name as Name, a.Product as Product, ISNULL(b.cnt,0) as Cnt
FROM MyTable a
LEFT JOIN (SELECT Name, COUNT(*) as Cnt FROM MyTable GROUP BY Name) b
ON a.Name = b.Name
关于sql - 按 SQL 进行分组并计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035906/