我如何确定哪条记录具有特定字段的 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;
标题几乎不言自明。我想找出一种方法来识别字段的 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;