【问题标题】:SQL query to get data in a table that starts with some specific row for ios appSQL查询以获取以ios应用程序的某些特定行开头的表中的数据
【发布时间】:2014-10-03 22:19:46
【问题描述】:

我有一个应用程序,我从我的 sqlite 数据库中获取一些数据。

下面是我用来从 sqlite 数据库中获取数据的查询。

select * from tbl where ListId = 5

我想以这样一种方式更新此表,即我希望表的第一行包含一些我已通过的特定WordID。

如果我通过WordId = 58,那么表格的第一行应该以这个WordID开头,那么其余数据应该是任何顺序。

如何通过任何 sqlite 查询来实现这一点?

请帮助我。

提前致谢。

【问题讨论】:

    标签: mysql ios sql sqlite


    【解决方案1】:

    试试

    select * from tbl where ListId = 5 order by WordId <> 58
    

    【讨论】:

    • 非常感谢 Guyz 的帮助。为我节省了很多时间。
    【解决方案2】:

    因此,您首先需要WordId = 58 的行,然后是所有其他行。 这可以通过执行两个查询,然后组合它们来完成:

    SELECT * FROM tbl WHERE ListId = 5 AND WordId = 58
    UNION ALL
    SELECT * FROM tbl WHERE ListId = 5 AND WordId != 58
    

    或者(如果您仍然想对行进行排序),请按首先对该单词排序的表达式对所有行进行排序。 (表达式WordId != 58 有一个布尔结果,0 或1。)

    SELECT *
    FROM tbl
    WHERE ListId = 5
    ORDER BY WordId != 58,
             Word           -- optional; or any other column(s)
    

    【讨论】:

    • 非常感谢 Guyz 的帮助。为我节省了很多时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 2013-06-10
    • 2022-01-12
    • 1970-01-01
    相关资源
    最近更新 更多