Как получить последнюю запись из SQLite3 в Python - PullRequest
0 голосов
/ 16 марта 2020

Предположим, у вас есть база данных с одним столбцом , т.е. ID. Если вы хотите выбрать последние 4 значения, введенные в файл БД, как бы вы это сделали? (Я использую SQLite3)

Что я сделал, чтобы получить последнее значение 1 из БД:

cur.execute("SELECT id FROM classes")

for class_Names in cur.fetchall():
    pass

print(class_Names)

Это возвращает мне последнее значение. Что мне нужно сделать, чтобы получить последние 4 данных из базы данных. То, что я попробовал, как предложено @Zaven Zareyan:

import sqlite3

conn = sqlite3.connect(r'C:\Users\intel\Desktop\Crawl_jar\test.db')

cur = conn.cursor()
cur.execute("SELECT * FROM classes ORDER BY id DESC LIMIT 4")

for class_Names in cur.fetchall():
    print(class_Names)

Но это приводит к:

('tVe95H',)
('tVe95H',)
('tVe95H',)
('sng_c explicticon',)

Исходная таблица:

('_3wU53n',)
('_3wU53n',)
('_3wU53n',)
('_3wU53n',)
('_3wU53n',)
('_3wU53n',)
('_3wU53n',)
('_3wU53n',)
('_2yAnYN',)
('_2ISNhP _3AOFWO',)
('puxlXr',)
('_1Nyybr  _30XEf0',)
('_1Nyybr  _30XEf0',)
('iUmrbN',)
('_1Nyybr  _30XEf0',)
('_3BTv9X',)
('_1Nyybr  _30XEf0',)
('_3BTv9X',)
('_1xHtJz',)
('_3wU53n',)
('_1Nyybr _30XEf0',)
('_1Nyybr _30XEf0',)
('_1Nyybr _30XEf0',)
('_1Nyybr _30XEf0',)
('_1UoZlX',)
('_1p7h2j',)
('LM6RPg',)
('_3Wn9Gb',)
('_1Nyybr _30XEf0',)
('_3wU53n',)
('tVe95H',)
('tVe95H',)
('_3wU53n',)
('_3wU53n',)
('tVe95H',)
('_1Nyybr _30XEf0',)
('sng_c explicticon',)
('sng_c explicticon',)
('sng_c',)
('ellipsis-single ware-brand',)
('ellipsis-single ware-brand',)
('question-hyperlink',)
('question-hyperlink',)
('question-hyperlink',)
('excerpt',)

1 Ответ

0 голосов
/ 16 марта 2020

Если ваш идентификатор автоматически увеличивается на int, вы можете сделать следующее:

cur.execute("SELECT id FROM classes ORDER BY id DESC LIMIT 4")

for class_Names in cur.fetchall():
    print(class_Names)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...