【问题标题】:Sqlite get max id not working (?)Sqlite 获取最大 ID 不起作用(?)
【发布时间】:2015-05-19 03:36:43
【问题描述】:

我正在使用这个:

SELECT * 
WHERE id=MAX(id) 
FROM history;

但我的查询是空的。我也试过这个(这个有效):

SELECT MAX(id) AS max_id 
FROM history;

但显然我的查询只包含 max_id 键。我第一个做错了什么?

【问题讨论】:

  • select * from history where id=(select max(id) from history);

标签: sql sqlite select


【解决方案1】:

实际上,在 sqlite 中获取列最大值的最简单查询是:

select MAX(id) from table;

【讨论】:

    【解决方案2】:

    选择前 1 个 从历史 按 id DESC 排序

    【讨论】:

    • 我只是想知道,您是否认为您的答案是必要的,并且除了已接受的答案之外,还会在此帖子中添加一些新信息?只是我们不希望 StackOverflow 变得不必要的人满为患。 :)
    【解决方案3】:

    您需要为MAX 添加另一个级别的select,如下所示:

    SELECT * 
    WHERE id=(SELECT MAX(id) from history)
    FROM history;
    

    更好的方法是按id 降序排序,并将输出限制为单行:

    SELECT *
    FROM history
    ORDER BY id DESC
    LIMIT 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多