2016-09-25 56 views
0

使用Python來查詢SQL數據庫。我對數據庫相當陌生。我嘗試過查找這個問題,但是我找不到類似的問題來獲得正確的答案。sqlite - 返回所有列的最大一列而不重複

我有一個表有多個列/行。我想找到單個列的MAX,我希望返回所有列(整個ROW),而我只需要一個MAX實例。現在我得到了十個ROWS,因爲MAX重複了十次。我只想要一個ROW返回。

的查詢字符串到目前爲止,我已經試過:

sql = 'select max(f) from cbar' 
# this returns one ROW, but only a single COLUMN (a single value) 

sql = 'select * from cbar where f = (select max(f) from cbar)' 
# this returns all COLUMNS, but it also returns multiple ROWS 

我已經嘗試了一大堆更多,但他們什麼都不會返回。不知何故,他們是不對的。這就是問題所在,我太新了,無法找到我的兩個查詢語句之間的中間地帶。

+0

@Joachim - 任何行。它不一定是第一個。 – twegner

+0

是的!謝謝! – twegner

回答

1

在SQLite的3.7.11或更高版本,你可以用最大值檢索所有列在一起:

SELECT *, max(f) FROM cbar; 

但你的Python可能是太舊了。在一般情況下,您可以按該列對錶格進行排序,然後只讀第一行:

SELECT * FROM cbar ORDER BY f DESC LIMIT 1; 
相關問題