sql - 从另一个没有临时表的选择中选择?

标签 sql sql-server

有一个包含值 [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

更多相关内容

HAVING (Transact-SQL)

Having clause tutorial

关于sql - 从另一个没有临时表的选择中选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26990000/

相关文章:

c# - 从 SQL Server 数据库填充 DataTable

sql - 随着表子项中记录数量的增加,DELETE FROM 表变得很重

sql - 是否有必要考虑删除现有索引,因为它是推荐索引的前缀

mysql - SQL查询中如何在两列之间进行除法

php - MySQL 行消失(神秘)

sql - 测试记录按顺序插入

MySQL DUPLICATE KEY UPDATE + SUM 函数

sql-server - 首先按最重复的记录排序

sql-server - 应用服务迁移后 - 创建表错误

特定用户的 SQL If 语句