gpt4 book ai didi

php - 从数据库中为每个 UserID 删除除最后 15 个之外的所有条目

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:20 25 4
gpt4 key购买 nike

我有一个 SQL 服务器数据库,我想删除除最后 15 行以外的每一行,但是,我需要这是每个“用户 ID”。

我的数据库包含许多不同用户的条目,其中他们的 ID 是“UserID”列,因此我希望每个用户在数据库中有 15 个条目,并删除旧的条目。

SQL 是什么?

这是我自己的一个例子:

$sql = "DELETE FROM SocialSenseTracking WHERE UserID NOT IN (SELECT TOP 15 UserID='$user' FROM SocialSenseTracking ORDER BY UserID DESC)";

最佳答案

您可以为此使用 CTE 和 row_number():

with todelete as (
select sst.*, row_number() over (partition by UserId order by CreatedAt desc) as seqnum
from SocialSenseTracking sst
)
delete from todelete
where seqnum > 15;

您没有指定用于确定最近记录的列,所以我只是发明了 CreatedAt

关于php - 从数据库中为每个 UserID 删除除最后 15 个之外的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31292510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com