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

これを試してください

select no from book where rowid = (select max(no) from book)
于 2012-09-20T12:09:25.537 に答える
0

なぜだけではないのSELECT MAX(no) FROM bookですか?

于 2012-09-20T12:16:04.183 に答える