我如何确定哪条记录具有特定字段的 MAX?

How can I identify which record has the MAX for a particular field?

标题几乎不言自明。我想找出一种方法来识别字段的 MAX 在哪条记录中。

用 MySQL 或 Postgres 试试这个:

SELECT * FROM MyTable ORDER BY MyField DESC LIMIT 1

或者使用 MSSQL 时:

SELECT TOP 1 * FROM MyTable ORDER BY MyField DESC

Oracle 需要一个嵌套的 SELECT 和 ROWNUM:

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

答案取决于您使用的 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;