删除行号大于为从sql获取的每个组指定的行号的寄存器

问题描述 投票:0回答:2

我在博客上摆着一张桌子,向他们表示赞赏。我需要在表中为每个人留下最后10条评论,并删除较旧的评论。可以说这些列是:

  • personId
  • commentId
  • dateFromComment

我知道如何通过几个查询而不是仅通过一个查询(允许任何子查询)以及对任何数据库执行此操作>

使用:

select personId from PeopleComments 
group by personId
having count(*) >10 

我会得到具有10条以上评论的人员ID,但我不知道如何从那里获取评论ID并将其删除

谢谢!

我在博客上摆着一张桌子,向他们表示赞赏。我需要在表中为每个人留下最后10条评论,并删除较旧的评论。可以说这些列是:personId commentId ...

sql group-by field sql-delete
2个回答
0
投票

您需要一个相关的子查询,其中包含以下注释:


0
投票

以下内容适用于Oracle,从12c版本开始:

© www.soinside.com 2019 - 2024. All rights reserved.