【问题标题】:Search the position of a column in SQLite在 SQLite 中搜索列的位置
【发布时间】:2017-09-15 09:47:32
【问题描述】:

我正在搜索...但我没有找到如何在 SQlite 中找到项目在列中的位置。

当我使用ROW_NUMBER() 时,我得到:

错误:靠近“(”:语法错误(代码1)

SELECT Nom ROW_NUMBER () OVER (ORDER BY Score) AS Rownumber 
FROM tableau

我正在使用 MIT App Inventor 和 Taifun extension sqlite

其他问题如何知道哪个项目在列中的位置 2(或其他数字)?

【问题讨论】:

  • 显示您的代码。
  • 至少,您应该在这里发布您的查询。Anw,您确定您使用的sql server 版本是否支持ROW_NUMBER
  • 请提供您尝试过的SQL和一些示例数据
  • 用您正在使用的数据库标记您的问题。
  • 如何发布我的数据库?它包含在我的应用程序中,数据库一开始是空的,应用程序添加列和索引...

标签: sql sqlite search app-inventor


【解决方案1】:

评论太长了。

ROW_NUMBER() 是 ANSI 标准函数。但是,并非所有数据库都使用它。例如,SQLite、MySQL 和 MS Access(以及其他)不支持此功能。

您可能正在使用其中一个不支持此功能的数据库。

我建议您研究一下您使用的数据库。然后,尝试研究如何使用该数据库实现您想要的功能。如果您不知道怎么做,请提出另一个问题,提供示例数据、所需结果以及您正在使用的数据库的标签。

【讨论】:

  • 我现在知道我使用 sqlite 了!
【解决方案2】:

如果这确实是您正在运行的代码:

SELECT Nom ROW_NUMBER () OVER (ORDER BY Score) AS Rownumber FROM tableau

那么Nom是什么?这实际上是每个实现中的语法错误。您可能想要做的是:

SELECT Nom, ROW_NUMBER () OVER (ORDER BY Score) AS Rownumber FROM tableau

注意Nom后面的逗号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多