С Python и SQLite, как я могу вернуть последний n элемент внутри базы данных? - PullRequest
0 голосов
/ 31 марта 2012

У меня есть база данных, содержащая список обновлений статуса и отметку времени.

, выполнив следующий скрипт Python

import sqlite3 as lite
import sys


    con = lite.connect('Status.db')

    with con:    

        cur = con.cursor()    
        cur.execute("SELECT * FROM Status")
        print "The Status database now contains:"

        for row in cur:
            print row

приводит к выводу:

The Status database now contains:
(1333155451.8815, u'message')
(1333155469.205055, u'message1')
(1333155473.496727, u'message2')

Однако, по мере роста базы данных, я хочу просматривать только последние, скажем, 10 сообщений. С возможностью просмотра старых сообщений.

Может кто-нибудь дать мне несколько советов, как мне поступить?

Спасибо

Ответы [ 2 ]

4 голосов
/ 31 марта 2012

Вы можете использовать ORDER BY и LIMIT, а также использовать ключевое слово DESC для отображения в обратном порядке отметок времени:

SELECT * FROM <yourtable> ORDER BY <timestampcol> DESC LIMIT 10

(Для дальнейшего использования: когда вы спрашиваете о том, как запрашивать ваши данные, вы должны опубликовать информацию о вашей схеме, такую ​​как имена таблиц, имена столбцов и типы данных. Это значительно упрощает публикацию ответа, содержащего фактические данные. запрос.)

1 голос
/ 31 марта 2012

Посмотрите на ORDER BY и LIMIT clausuls. Те должны сделать свое дело:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...