【问题标题】:Using SQLite window functions and creating up-to-date SQLite version database使用 SQLite 窗口函数并创建最新的 SQLite 版本数据库
【发布时间】:2020-04-01 15:58:42
【问题描述】:

我无法使用 SQLite 窗口函数(例如 LAG、LEAD)。经过一番调查,这似乎是由于 SQLite 数据库版本低于 3.25.0,之后才提供窗口函数。

Database created using SQLite 3.30.1 version

However version 3.24.0 version displayed on this 'test' database

当测试包含窗口函数的查询时,例如sqlitetutorial site 上提供的查询:the following errors are displayed

能否请您告知如何解决此问题。非常感谢您对此的支持。

SELECT CustomerId, Year, Total, LAG (Total, 1, 0) OVER (ORDER BY Year) PreviousYearTotal FROM CustomerInvoices WHERE CustomerId = 4;

【问题讨论】:

  • 用任何 gui 程序升级你正在使用的 sqlite 版本。

标签: sqlite function version lag


【解决方案1】:

有同样的问题。看起来您使用的是 SQLiteStudio,最新版本是 2019 年 12 月的 3.21。虽然您的数据库是在 SQLite 3.30 中制作的(并且您的软件可能使用的是 3.30),但您使用的 SQLiteStudio 版本是基于 3.24 的。

在 SQLiteStudio 中有一个outstanding feature request 来实现窗口功能。在此之前,您能做的最好的事情就是将 SQLiteStudio 程序目录中的 sqlite3.dll 替换为更新的版本(3.30,32 位工作)。窗口函数将显示为语法错误,但查询仍将执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    相关资源
    最近更新 更多