2012-03-31 48 views
0

我有一個數據庫,其中包含狀態更新和時間戳列表。使用Python和SQLite,我如何返回數據庫內的最後n項?

通過執行以下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條信息。可以選擇查看舊信息。

任何人都可以給我一些提示,我將如何去做呢?

感謝

回答

4

您可以使用ORDER BYLIMIT,AOD使用DESC關鍵字反向時間戳以顯示:

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

(以供將來參考:當你詢問如何查詢你的數據,你應該發佈關於你的模式的信息,比如表名,列名和數據類型,這使得發佈一個包含實際查詢的答案變得容易得多。)

+0

這比我想要的要容易得多正在做循環和while循環。非常感謝! – Synia 2012-03-31 02:38:20

1

看ORDER BY和LIMIT clausuls。那些應該做的伎倆:)

相關問題