首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在操作发生之前,提取数据

在操作发生之前,提取数据
EN

Stack Overflow用户
提问于 2021-03-23 17:25:19
回答 1查看 39关注 0票数 0

我有一张像下面这样的桌子。我想通过用户提取记录,忽略在“删除”操作之后发生的任何事情。因此,例如,用户A应该只提取ID 1-4,而用户B应该提取所有ID 6-9。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-23 18:29:37

窗口函数在这里应该工作得很好。

我们只需对属于'Delete'的行进行运行的条件计数,然后对为0的行进行筛选。

代码语言:javascript
复制
SELECT *
FROM (
    SELECT *,
        COUNT(CASE WHEN [Action] = 'Delete' THEN 1 END) OVER
            (PARTITION BY [User] ORDER BY [Id] ROWS UNBOUNDED PRECEDING) AS DeletedAlready
    FROM table
) t
WHERE t.DeleteAlready = 0;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66768211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档