2013-05-08 2 views

ответ

18

Получить записи с наибольшими идентификаторов, а затем останавливается после первой записи:

SELECT * FROM MyTable ORDER BY id DESC LIMIT 1 
+1

Above Query Ищет n записей, затем упорядочивает n записей, затем получает 1 запись ... ?????? этот запрос эффективен, он нуждается в настройке. Ниже ответ @Newbie намного лучше с точки зрения эффективности. –

+4

В запросе LIMIT * n * SQLite сохраняет только * n * наибольшие строки при сортировке. И если индекс индексирован, сортировка не требуется. –

1

Если вы хотите знать синтаксис запроса:

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

Так же, как MySQL, вы можете использовать MAX()

например SELECT MAX(id) AS member_id, name, value FROM YOUR_TABLE_NAME

+0

Я хочу, чтобы выбрать значение не идентификатор. – abidinberkay

+0

Я обновил свой код. Это должно работать сейчас – Lian

+0

жаль, что я забыл сохранить свое редактирование – Lian

0

Попробуйте это:

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

'==' не существует в SQL, если я не ошибаюсь. – RichouHunter

+0

Он существует в SQLite: https://sqlite.org/lang_expr.html – sergi

+0

Хорошо, справедливо. – RichouHunter

Смежные вопросы