Mam następująco tabelę z trzema kolumnami:SQLite: Wybór odpowiedniej wartości maksymalnej
id INTEGER name TEXT value REAL
Jak mogę wybrać value
przy maksymalnym id
?
Mam następująco tabelę z trzema kolumnami:SQLite: Wybór odpowiedniej wartości maksymalnej
id INTEGER name TEXT value REAL
Jak mogę wybrać value
przy maksymalnym id
?
Get zapisy z największych identyfikatorów pierwszy, a następnie zatrzymać po pierwszym rekordzie:
SELECT * FROM MyTable ORDER BY id DESC LIMIT 1
Jeśli chcesz znać składnię zapytania:
String query = "SELECT MAX(id) AS max_id FROM mytable";
Podobnie jak MySQL, można użyć MAX()
np SELECT MAX(id) AS member_id, name, value FROM YOUR_TABLE_NAME
Chcę wybrać wartość nie id. – abidinberkay
Zaktualizowałem swój kod. To powinno zadziałać teraz – Lian
Przepraszam Zapomniałem zapisać moją edycję – Lian
Spróbuj tego:
SELECT value FROM table WHERE id==(SELECT max(id) FROM table));
'==' nie istnieje w SQL, jeśli się nie mylę. – RichouHunter
Istnieje w SQLite: https://sqlite.org/lang_expr.html – sergi
W porządku, wystarczy. – RichouHunter
Powyżej kwerendy Przeszukuje n rekordów, a następnie aranżuje n rekordów, a następnie dostaje 1 rekord ... ?????? jest to zapytanie wydajne, wymaga dostrojenia. Poniżej odpowiedź @Newbie jest znacznie lepsza pod względem wydajności. –
W zapytaniu LIMIT * n * SQLite przechowuje tylko * n * największe wiersze podczas sortowania. A jeśli kolumna jest indeksowana, sortowanie nie jest konieczne. –