我的表看起来像这样:
ID ProductName ProductCode
1 abc 123
2 abc 123
3 abc 456
4 def 789
5 ghi 246
6 jkl 369
7 jkl 369
8 jkl 369
9 jkl 468
10 jkl 468
我希望创建一个如下所示的汇总表:
ProductName ProductCode Total
abc 123 2
abc 456 1
jkl 369 3
jkl 468 2
换句话说,我对产品“def”和“ghi”不感兴趣,因为它们只出现在原始表中一次.对于其他一切我想通过ProductName和ProductCode进行分组并显示计数.
我已经尝试过使用group by子句以及在哪里(选择…),但我刚刚结束了圆圈.
该表有大约50,000行,位于SQL Server 2008 R2上.
最佳答案 就是这个:
SELECT
ProductName,
ProductCode,
COUNT(*) as Total
FROM Table1
WHERE ProductName IN (SELECT ProductName FROM Table1 GROUP BY ProductName HAVING COUNT(*) > 1)
GROUP BY ProductName, ProductCode