2015-01-26 39 views
1

標題幾乎是自我解釋。我想找出一種方法來識別記錄的字段的MAX是如何識別哪個記錄具有特定字段的MAX?

+1

問候,你可以讓我們知道你已經嘗試了什麼? – 2015-01-26 23:42:19

+1

這是相當廣泛的。不確定你需要什麼。查看最大的SQL和巴姆 – Coffee 2015-01-26 23:46:17

+0

我沒有看到問題的問題。使用'MAX'來得到答案實際上是漫長的。 – StilesCrisis 2015-01-26 23:48:39

回答

3

與MySQL或Postgres的試試這個:

SELECT * FROM MyTable ORDER BY MyField DESC LIMIT 1 

或者這與MSSQL:

SELECT TOP 1 * FROM MyTable ORDER BY MyField DESC 

甲骨文需要與ROWNUM嵌套的SELECT:

SELECT * FROM (SELECT * FROM MyTable ORDER BY MyField DESC) WHERE ROWNUM = 1 
+0

第一個sql語句將創造奇蹟,它幾乎解決了我一直遇到的所有問題。非常感謝 – Shakil 2015-01-27 14:59:13

0

答案將取決於您正在使用的DBMS。 @StilesCrisis覆蓋了MySQL和MSSQL;在Oracle中,你可以做到以下幾點:

SELECT * FROM (
    SELECT * FROM mytable ORDER BY myfield DESC 
) WHERE rownum = 1; 

Postgres使用相同的語法,MySQL的:

SELECT * FROM mytable ORDER BY myfield DESC LIMIT 1; 
+0

謝謝!我已經納入了Oracle查詢,以避免將答案分成多個地方。 (也踢我自己,我每天都在使用Oracle,但問題是標記爲VB.NET,所以我只是假設MSSQL。) – StilesCrisis 2015-01-27 02:21:34

相關問題