嗨,我知道这样SQL Server
做query
是为了记录最后一条记录而不是第一条记录
SELECT TOP 1 *
FROM Tabla
ORDER by ID DESC
所以它带了我 MSSQL 表的最后一条记录,即 SQL server 2008 R2,但是在MySQL
这个位置上,它带走了我的第一条记录。我该怎么办或我做错了什么?阅读开头,因为他们在做了更多研究后对我投了反对票
SELECT *
FROM Tabla
ORDER by ID DESC
LIMIT 1
明确表示我刚刚明白这一点,并且在发表这篇文章后我明白了,这相当于
TOP 1
SQL 服务器是
MIN(exprecion)
最后一条记录是
MAX(exprecion)
当然是看你的情况。
目前还不清楚你做错了什么。因为这 2 个语句是完全等价的并且工作得非常好。
TOP 1
在 SQL Server 中:结果:
Demo
LIMIT 1
用 mysql结果:
Demo
如您所见,两个查询都工作正常并返回相同的结果。
另一方面,您作为问题的答案提出的查询:
...根本无效,它甚至不运行,如您在此处看到的:Demo
也许你的意思是:
...但是尽管至少现在它运行了,但此查询可能会给您完全错误的结果,如您在以下演示中所见:
结果:
Demo
正如我所看到的,考虑到 id 是自动递增的,您将采用降序排列,这将采用最后输入的记录。查询看起来像这样:
SELECT * FROM Tabla ORDER by ID ASC LIMIT 1
这将为您带来最古老的记录。但请记住 ID 字段是如何增长的
一个美丽华丽的替代品:
此查询的主要优点是,例如,如果两本书具有相同的最低价格,则显示两条记录。另一方面,“LIMIT 1”只向我们展示了一个结果。