如何在 SqlLite 中获取 Top 5 记录?

Posted

技术标签:

【中文标题】如何在 SqlLite 中获取 Top 5 记录?【英文标题】:How to get Top 5 records in SqLite? 【发布时间】:2011-02-13 07:31:43 【问题描述】:

这个我试过了,还是不行。

select top 5 * from [Table_Name]

【问题讨论】:

【参考方案1】:
SELECT * FROM Table_Name LIMIT 5;

【讨论】:

+2 表示正确答案和不包括不酷的方括号。 如果标题中有空格,方括号是必要的。 但限制在子查询 sqlite 中不起作用..替代方案是什么【参考方案2】:
select * from [Table_Name] limit 5

【讨论】:

【参考方案3】:

等效的语句是

select * from [TableName] limit 5

http://www.w3schools.com/sql/sql_top.asp

【讨论】:

【参考方案4】:

TOP 和方括号特定于 Transact-SQL。在 ANSI SQL 中,使用 LIMIT 和反引号 (`)。

select * from `Table_Name` LIMIT 5;

【讨论】:

LIMIT 不是 ANSI SQL。 ANSI SQL 方式是 FETCH FIRST 5 ROWS ONLY。双引号也用于分隔标识符,例如“表名”。【参考方案5】:
select price from mobile_sales_details order by price desc limit 5

注意:我有 mobile_sales_details 表

语法

select column_name from table_name order by column_name desc limit size.  

如果您需要最高低价,只需从 order by 中删除关键字 desc

【讨论】:

【参考方案6】:
Select TableName.* from  TableName DESC LIMIT 5

【讨论】:

DESC 使用不当。没有效果。【参考方案7】:

仅替换您的表名[TABLE_NAME] 并使用。

"select * from "+TABLE_NAME+ " LIMIT " +5;

【讨论】:

如果表名或限制来自不受信任的来源,这很容易受到 SQL 注入的影响

以上是关于如何在 SqlLite 中获取 Top 5 记录?的主要内容,如果未能解决你的问题,请参考以下文章

在 Access 子报表中使用 top 子句

请问一下我在VC里面用Sqllite插入记录的问题:

获取分组后的TOP 1和TOP N记录

使用 top 从 PID 和 COMMAND 获取前 5 行

SQLLite数据库获取一个表有多少列的语句是啥?

SQL 用户定义函数:获取用户定义函数中的 TOP n 记录