只返回 SQL 查询结果的一个元组

The*_*Cat 1 mysql sql

我想做一个类似的查询

select * from chr2;
Run Code Online (Sandbox Code Playgroud)

但只让 MySQL 返回第一个元组(或任意)元组而不是所有元组。

我该怎么做?

Sir*_*rko 5

使用LIMIT子句:

SELECT * FROM chr2 LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

如果您想要返回任意行,则必须按这样的随机列对行进行排序(MySQL docu):

SELECT * FROM chr2 
ORDER BY RAND()
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

但是,在大型表上,您可能会遇到性能问题,因为必须为每一行创建一个随机值,并且必须根据此列对表进行排序。