TOP和ORDER BY sql错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TOP和ORDER BY sql错误相关的知识,希望对你有一定的参考价值。
我试图使用php从mysql中的表中选择最后一条记录。我相信我有一个SQL错误。这是我的SQL代码:
SELECT TOP 1 id FROM `table` ORDER BY id DESC
如果这是有效的,我实际上有一个PHP错误,请告诉我。
答案
你有一个无效的SQL语法。改用LIMIT
试试这个:
SELECT id
FROM table
ORDER BY id DESC
LIMIT 1
TOP
子句适用于MSSQL服务器。
另一答案
一种更简单,更DBMS不可知的方法是:
SELECT MAX(id) AS id
FROM table
这只是你只想要id
字段,否则如果你试图SELECT其他列,它不会返回匹配数据到id
字段,你将不得不使用:
SELECT id, otherfields, ..., ...
FROM table
WHERE id = (SELECT MAX(id) FROM table)
另一答案
如果您不想使用限制,这将有效查找最后一条记录
SELECT TOP 1 * FROM Products ORDER BY id desc
这将工作如果您不想使用限制,请查找指定列名称的最后一条记录
SELECT TOP 1 id FROM Products ORDER BY id desc
其他
SELECT * FROM Products ORDER BY id DESC LIMIT 1
以上是关于TOP和ORDER BY sql错误的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 查询错误 -ORDER BY 子句在视图中无效
SQL SERVER语句提示错误 delete top (5) FROM (SELECT top 100 percent * FROM 表名 ORDER BY DATE0) a
SQL:在 UNION 查询中使用 Top 1 和 Order By
SQL Update TOP Update Order by 和output的使用
sql'select top 1' without 'order by' from view with 'top 100 percent ... order by ...'声明给出了意想不到的结果[重