在 MariaDB 中,如何从表中选择前 10 行?

Posted

技术标签:

【中文标题】在 MariaDB 中,如何从表中选择前 10 行?【英文标题】:In MariaDB how do I select the top 10 rows from a table? 【发布时间】:2015-01-23 20:23:35 【问题描述】:

我刚刚在网上看到 MariaDB(SQLZoo 使用的)是基于 mysql 的。所以我认为我可以使用 ROW_NUMBER() 函数

但是,当我try this function in SQLZoo:

SELECT * FROM ( 
  SELECT  * FROM route
) TEST7
WHERE ROW_NUMBER()  < 10

然后我得到这个错误:

错误:FUNCTION gisq.ROW_NUMBER 不存在

【问题讨论】:

ROW_NUMBER() in MySQL的可能重复 MariaDB 基于 MySQL,而不是 MS SQL @tadman - 啊,我把它弄混了,抱歉。谢谢! MySQL 5.6 documentation 非常彻底,并且有一个函数索引。这是任何开发人员都应该收藏并准备好的东西。如果您对某个函数是否存在感到好奇,请先查看那里。 Stack Overflow 是一个很好的第二个检查当你被难住的地方。 【参考方案1】:

在语句的末尾使用LIMIT 10

请参阅MySQL SELECT documentation。

【讨论】:

【参考方案2】:

您可以使用limit 子句:

SELECT * FROM route LIMIT 10

当然,这也可以用于排序查询:

SELECT * FROM route ORDER BY some_field LIMIT 10

【讨论】:

事实上,没有排序查询几乎没有意义!

以上是关于在 MariaDB 中,如何从表中选择前 10 行?的主要内容,如果未能解决你的问题,请参考以下文章

如何从表中删除除前两个和最后一个之外的所有行?

从表中选择前 N 行

TSQL 从表中选择最后 10 行?

选择 Mariadb 中除顶行以外的所有行

有 GUID 列表时如何从表中选择行? [复制]

从表中随机选择行 - Python Pandas 读取 SQL