我想做类似下面的事情:
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)