0

我在从数据库中查找最新数据时遇到问题。

当我select no from book从 1,2,3 返回时。

但是当我这样做时,据说它应该返回值 3 这返回我 2。

SELECT no FROM book WHERE rowid =( SELECT MAX(rowid) FROM book)

奇怪的是,如果你从列表中删除所有数据,它也会让我回到最后一行,直到它有超过 2 个数据。有人可以帮助我吗?

4

4 回答 4

2

看起来您的查询正在寻找 rowid 的最大值,而不是没有。

因此,试试这个:

SELECT MAX(no) FROM book;
于 2012-09-20T12:10:15.680 回答
1

您不应该max(no)在子查询中使用吗?

SELECT no FROM book WHERE rowid =( SELECT MAX(no) FROM book)

RowID 是一个伪列,从 0 开始 -请参见此处

于 2012-09-20T12:08:01.157 回答
0

Why not just SELECT MAX(no) FROM book?

于 2012-09-20T12:16:04.183 回答
0

试试这个

select no from book where rowid = (select max(no) from book)
于 2012-09-20T12:09:25.537 回答