Mysql SQL:如何获取无序列的最新值
我需要查询数据库中最新的UUID(即最后插入的UUID)。此值由应用程序生成。所以如果我真的这么做Mysql SQL:如何获取无序列的最新值,mysql,sql,Mysql,Sql,我需要查询数据库中最新的UUID(即最后插入的UUID)。此值由应用程序生成。所以如果我真的这么做 select uuid from Run where <some condition> 但这迫使我将ID列包括在结果集中。我想这还不算太糟,但我只是想知道是否有一种优雅的方法,我可以返回结果集中的UUID,并且仍然可以得到最新的UUID 我正在使用MySQL 谢谢。最清晰/最明确的方式是写: SELECT uuid FROM Run WHERE id = ( S
select uuid from Run where <some condition>
但这迫使我将ID列包括在结果集中。我想这还不算太糟,但我只是想知道是否有一种优雅的方法,我可以返回结果集中的UUID,并且仍然可以得到最新的UUID
我正在使用MySQL
谢谢。最清晰/最明确的方式是写:
SELECT uuid
FROM Run
WHERE id =
( SELECT MAX(id)
FROM Run
WHERE <some condition>
)
;
因为这将从与您的条件匹配的记录中任意选择
uuid
,所以通常不会选择实际对应于max(id)
的uuid
。(这已经解释过了,-ish,at,尽管该页面听起来似乎只有在您有GROUP BY
子句的情况下才能遇到这个问题。)最清晰/最明确的方法是写:
SELECT uuid
FROM Run
WHERE id =
( SELECT MAX(id)
FROM Run
WHERE <some condition>
)
;
因为这将从与您的条件匹配的记录中任意选择
uuid
,所以通常不会选择实际对应于max(id)
的uuid
。(这已经解释过了,-ish,at,尽管该页面听起来好像只有当您有GROUP BY
子句时才能遇到这个问题。)我认为最简单的方法是使用限制和按顺序:
select r.*
from Run r
where <some condition>
order by id desc
limit 1;
选择r*
来自Run r
哪里
按id描述订购
限值1;
我认为最简单的方法是使用限制和按
排序:
select r.*
from Run r
where <some condition>
order by id desc
limit 1;
选择r*
来自Run r
哪里
按id描述订购
限值1;
只需自行排序并限制输出
SELECT uuid FROM Run WHERE <some_condition> ORDER BY id DESC LIMIT 1;
从Run WHERE ORDER BY id DESC LIMIT 1中选择uuid;
只需自行排序并限制输出
SELECT uuid FROM Run WHERE <some_condition> ORDER BY id DESC LIMIT 1;
从Run WHERE ORDER BY id DESC LIMIT 1中选择uuid;
这太完美了!非常感谢。这太完美了!非常感谢你。