我的数据库中有一个mysql表,如下所示:
CREATE TABLE `test` (
`id` int NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我在表格中有以下值:
id | title
----------
3 | hello world
1 | goblin
4 | what
2 | asdf adventure
5 | no way
实际上,我有数以千计的这些ID和标题,所以我限制了使用LIMIT
和OFFSET
获得的结果。当我执行以下查询时:
SELECT * FROM test
ORDER BY id ASC
LIMIT 5 OFFEST 0;
我得到以下内容:
id | title
----------
1 | goblin
2 | asdf adventure
3 | hello world
4 | what
5 | no way
到目前为止这很棒。但是在DESC
订购时我遇到了问题。如果我执行查询:
SELECT * FROM test
ORDER BY id DESC
LIMIT 5 OFFEST 0;
我得到以下结果:
id | title
----------
1 | goblin
2 | asdf adventure
3 | hello world
4 | what
5 | no way
但我希望这是我的结果:
id | title
----------
5 | no way
4 | what
3 | hello world
2 | asdf adventure
1 | goblin
为什么DESC
没有按预期工作?我可以通过降低id
值来排序吗?