sqlite 相当于 row_number() over ( 分区 ...?

2024-04-13

我想知道是否可以使用单个 sqlite 语句执行以下操作:

我的桌子看起来像这样:

|AnId|UserId|SomeDate|SomeData|
|123 |A     |1/1/2010|aadsljvs|
| 87 |A     |2/9/2010|asda fas|
|193 |A     |2/4/2010|aadsljvs|
|927 |A     |7/3/2010|aadsasdf|
|816 |B     |1/1/2010|aa32973v|
|109 |B     |7/5/2010|aaasfd10|
| 39 |B     |1/3/2010|66699327|
...

每行都有一个唯一的 ID、一个用户 ID、一个日期时间值和一些其他数据。

我想删除记录,以便保留最新 10 条记录per user,基于 SomeDate。

在 sql server 中我会使用这样的东西:

delete d
from data d
inner join (
    select UserId
        ,  AnId
        ,  row_number() over ( partition by UserId order by SomeDate desc ) 
              as RowNum
    from data 
) ranked on d.AnId = ranked.AnId
where ranked.RowNum > 10

有没有办法在 sqlite 中做到这一点?存在具有相同 SomeDate 的多个记录的边缘情况并不是特别令人担心的,例如如果我保留所有这些记录就好了。


我知道这个问题已经很老了,但是下面的 SQLite 语句将执行 Rory 最初在一个语句中要求的操作 - 删除给定 UserId 的所有记录,这些记录不是该 UserId 的 10 个最新记录(基于 SomeDate)。

DELETE FROM data
WHERE AnId IN (SELECT AnId
               FROM data AS d
               WHERE d.UserId = data.UserId
               ORDER BY SomeDate DESC
               LIMIT -1 OFFSET 10)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqlite 相当于 row_number() over ( 分区 ...? 的相关文章

随机推荐

  • 持久性单元定义冲突

    春季3 1 1 Maven 3 0 4 日本PA Eclipse wtp 靛蓝 你好 我在服务器启动时遇到以下异常 我的项目中只有一个 persistence xml 有任何想法吗 谢谢埃里克 引起原因 java lang IllegalS
  • Node.js 找不到模块“tcp”

    节点在以下行崩溃 var tcp require tcp 错误文本 node js 201 throw e process nextTick error or error event on first tick Error Cannot f
  • 可折叠工具栏布局中的稀松布是什么?

    我在 Android 开发人员上阅读了可折叠工具栏布局 那里使用了一个术语 稀松布 它是什么 Scrim 隐藏或掩盖某事的事物 根据 Android CollapsingToolbarLayout 稀松布内容 当滚动位置达到某个阈值时显示或
  • 使 WooCommerce 结账运送字段可见并删除“运送到不同地址?”复选框

    我想知道是否有办法删除 运送到其他地址 复选框 在 woocommerce 结帐页面中 但保持运输字段可见 我努力了 add filter woocommerce cart needs shipping address return fal
  • Node.js 上通过套接字连接 Redis

    由于共享托管 目标主机上的我的 redis 服务器不在端口上运行 而是在非常特定的套接字上运行 可以通过套接字文件连接到该套接字 只有我的用户可以访问 但是 我还没有找到如何通过套接字指定连接node redis and connect r
  • e2e 测试是否应该将数据保存在真实数据库中?

    我读了很多关于 e2e 测试的文章 但我无法理解的一件事是 e2e 测试应该有多 真实 无论我使用什么工具进行 e2e 测试 我发现大多数时候它们都是在本地 开发或 alpha 环境中使用 如果我的应用程序具有身份验证 我是否应该在数据库中
  • 当具有复杂类型时,KnockoutJs 中的值绑定无法进行选择

    我正在尝试在选择元素上使用值绑定 如本小提琴中所述 http jsfiddle net MikeEast nM6dd 2 http jsfiddle net MikeEast nM6dd 2 但是 我似乎无法设置所选选项 值绑定 我知道我可
  • 为什么我的 XIB 文件无法本地化 (iPhone)?

    情况 我正在启动 XCode 为 iPhone 创建一个新项目 查看应用程序 并将 XIB 文件加载到 IB 中 我操作视图 添加带有字符串 hello 的标签 保存 构建 运行应用程序 一切都很好 现在我正在本地化 XIB 我所做的 右键
  • RttiType.TypeKind 和 RttiType.Name 之间有什么区别?

    以下之间的语义差异是什么 RttiType TypeKind 和 RttiType Name 我问是因为原则上不能从名称推断出 TypeKind 吗 The TypeKind and Name的属性TRttiType是完全不同的事情 Typ
  • 波特词干算法实现问题?

    我正在尝试实现波特词干算法 但我陷入了这一点 Step 1b m gt 0 EED gt EE feed gt feed agreed gt agree v ED gt plastered gt plaster bled gt bled v
  • 无法连接到远程调试 - Web App Azure

    我正在尝试使用 Visual Studio 2017 Professional 远程调试部署为 Azure 应用服务的 Asp Net Core Web 应用程序 使用 Web API 项目 按照记录的说明进行操作here https le
  • 来自本机的 Android O 设备序列号

    在 Android O 上从本机获取序列号而不调用 Java 的正确方法是什么Build getSerial 在 Android string serial read property ro boot serialno string rea
  • 在 openpyxl 中为选项卡着色

    我们有一种情况 我们想要使用 openpyxl 为工作表的选项卡着色 有没有办法在图书馆内做到这一点 或者 有没有人找到一种方法可以在库外部执行此操作 即通过扩展或类似的方式 您可以使用 openpyxl 为sheet properties
  • UIView的transitionWithView丢弃图层设置

    我 viewDidload 我有这样的设置 self layer setCornerRadius 30 0f NSString imgFilepath NSBundle mainBundle pathForResource imageNam
  • IntelliJ IDEA中如何自动分割长字符串?

    我正在编写一个包含很长字符串的测试 我需要拆分这些字符串 private static final String TOO LONG JSON field1 field1 field2 field2 fieldN fieldN 所以他们会变成
  • 在 Azure 上部署后 ChatBot 无法工作 - 内部服务器错误

    我已经使用 LUIS 和 QnA Maker 部署了一个聊天机器人 当我在模拟器上运行它时 它在本地完美运行 它在聊天开始时加载自适应卡 我从 LUIS 那里得到了正确的回复 但是 当我在 Azure 上部署机器人并在 Web 聊天上测试它
  • 使用带有返回值的访问者模式实现 AST 的最佳方法是什么?

    我正在尝试使用访问者模式在 C 中实现一个简单的抽象语法树 AST 通常访问者模式不处理返回值 但在我的 AST 中 有一些表达式节点关心其子节点的返回类型和值 例如 我有一个这样的 Node 结构 class AstNode public
  • 如何从 jenkins UI 控制台本身下载构建输出文件

    我是新詹金斯 使用詹金斯1 651 3战争部署于Tomcat6有没有办法从 jenkins UI 控制台本身下载 Jenkins 作业的输出文件 我的作业生成了一个 jar 文件 那么 有人可以建议我是否有任何方法或插件可以使每个 Jenk
  • iPad、JavaScript 字符代码和 shiftKey

    假设我有一个 Web 应用程序 每次用户在 ID 为 txt 的文本区域中按下按键时 该应用程序都会调用以下 jQuery txt keydown function e console log e which shows the keyCo
  • sqlite 相当于 row_number() over ( 分区 ...?

    我想知道是否可以使用单个 sqlite 语句执行以下操作 我的桌子看起来像这样 AnId UserId SomeDate SomeData 123 A 1 1 2010 aadsljvs 87 A 2 9 2010 asda fas 193