有一个包含值 [1,1,2,3,7,3,4,2,7] 的数字表 我只想选择重复项,因此输出集将包含 [1,2,3,7],因此 4 被过滤掉。
我有这样的代码:
DROP TABLE #tempTable;
SELECT [numbers] as nums, COUNT(*) as cny
INTO #tempTable
FROM [testBase].[dbo].[numbers] group by numbers;
SELECT nums from #tempTable where nums > 1;
现在我想知道是否可以在不先选择#tempTable 的情况下获取它? 更像是从选择中选择还是这是我能做到的唯一方法?
最佳答案
在一个查询中相同。
GROUP BY 之后的条件应添加到 HAVING 子句中。
SELECT [numbers] as nums, COUNT(*) as cny
FROM [testBase].[dbo].[numbers]
GROUP BY numbers
HAVING COUNT(*) > 1
更多相关内容
关于sql - 从另一个没有临时表的选择中选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990000/