2015-12-02 53 views
0

我的表設置了ID,時間,AAC,AAD等列。時間是數據輸入時的時間戳。Sqlite3 - 我如何從SELECT的結果中獲取時間戳max

我怎樣才能得到每列最大值的時間戳值?

import sqlite3 

sqlite_file = 'foo.db' 
conn = sqlite3.connect(sqlite_file) 
c = conn.cursor() 
column = ['AAC', 'AAD', 'ABC', 'ABP', 
      'AGL', 'AHG', 'AHY', 'AIO'] 
for i in range(len(column)): 
    c.execute("SELECT max("'"%s"'") FROM prices" % (column[i])) 
    print (column[i], c.fetchone()) 
conn.close() 

任何幫助將不勝感激!

回答

1

使用SQLite 3.7.11或更高版本(檢查sqlite3.sqlite_version),其他列的值,保證來自該MAX()或MIN()匹配行:

SELECT max(AAC), Time FROM prices; 
+0

嗯兩個答案都正確謝謝。但爲了簡單起見,我剛剛升級了我的sqlite3版本並使用它。 – jfox

2

嘗試選擇所需的列和時間戳,並按降序排列所需的列。最後只選擇1行就可以完成這項工作。

SELECT column_name,Time FROM prices order by column_name desc limit 1 

其中column_name是AAC,AAD等限制1將與最大值僅返回的行中所需的列。