【问题标题】:SQLite: Selecting the maximum corresponding valueSQLite:选择最大对应值
【发布时间】:2013-05-02 10:28:01
【问题描述】:

我有一个包含三列的表格,如下所示:

id INTEGER    name TEXT    value REAL

如何选择value最大id

【问题讨论】:

    标签: sqlite select max


    【解决方案1】:

    试试这个:

        SELECT value FROM table WHERE id==(SELECT max(id) FROM table));
    

    【讨论】:

    • == 在 SQL 中不存在,如果我没记错的话。
    【解决方案2】:

    首先获取ID最大的记录,然后在第一条记录之后停止:

    SELECT * FROM MyTable ORDER BY id DESC LIMIT 1
    

    【讨论】:

    • Above Query 搜索 n 条记录,然后排列 n 条记录,然后得到 1 条记录...??????这个查询是否有效,它需要调整。 @Newbie 的以下回答在效率方面要好得多。
    • 在 LIMIT n 查询中,SQLite 在排序时只保留 n 最大的行。如果列被索引,则不需要排序。
    【解决方案3】:

    和mysql一样,可以使用MAX()

    例如SELECT MAX(id) AS member_id, name, value FROM YOUR_TABLE_NAME

    【讨论】:

    • 我想选择值而不是id。
    • 如果要在最多有两个不同单元格的行上进行选择怎么办?
    【解决方案4】:

    如果你想知道查询语法:

    String query = "SELECT MAX(id) AS max_id FROM mytable";
    

    【讨论】:

      猜你喜欢
      • 2014-09-26
      • 2017-12-17
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多