sql - 可以使用 HAVING 子句进行删除吗?

标签 sql sql-server sql-server-2008

我想做如下的事情:

DELETE UserPredictions
  GROUP BY UserId
  HAVING COUNT(*) < 500

但是我遇到语法错误。是否可以在 SQL Server 中使用 HAVING 子句进行删除,或者我是否必须将计数汇总到 CTE 中并通过联接进行删除?

最佳答案

不是真的。 having 子句意味着聚合,这意味着您不再拥有原始行。

我认为您想要以下内容:

DELETE from UserPredictions
where UserId in (select UserId from UserPredictions group by UserId having count(*) < 500)

关于sql - 可以使用 HAVING 子句进行删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705996/

相关文章:

mysql - 如何在INSERT MySQL查询中使用WITH AS?

mysql - SQL 左外连接与内连接不等于

sql - 如何在 SQL Server 中反转字符串

sql-server - 如何确定哪个查询在 SSMS 2014 中更有效

sql-server - ORDER BY 子句错误

sql - 行锁 - 手动使用它们

sql - PIVOT 运算符中指定的列名 "FirstName"与 PIVOT 参数中的现有列名冲突

MySQL查询用户与其他人的对话

c# - 连接数据库时登录失败

mysql - 如何更改更新语句中的列集