Mysql SQL order by在超过

Mysql SQL order by在超过,mysql,sql,Mysql,Sql,我正在尝试使用SQL对结果进行排序 id | name (table name: student) ----- 1 | jhon 2 | amin 3 | heli 4 | mir 5 | mrs 6 | amr 7 | jonnathan 8 | adhy 当我使用这个查询时 select id from studenth where id>='3' order by id DESC limit 2 出现的结果是 id | name (table name: student) ---

我正在尝试使用SQL对结果进行排序

id | name (table name: student)
-----
1 | jhon
2 | amin
3 | heli
4 | mir
5 | mrs
6 | amr
7 | jonnathan
8 | adhy
当我使用这个查询时

select id from studenth where id>='3' order by id DESC limit 2
出现的结果是

id | name (table name: student)
-----
8 | adhy
7 | jonnathan
虽然我希望在id=3之后对结果进行排序,但我希望数据如下所示

id | name (table name: student)
-----
4 | mir
3 | heli

你可以做一些类似的事情:

select * from student where id>=3 order by id LIMIT 2
如果您想获取记录并按降序对其排序,那么可以进行子查询

SELECT * FROM
( SELECT * 
  FROM student 
  WHERE id>=3 ORDER BY id LIMIT 2) X
ORDER BY X.id DESC
您的查询有问题

select * from student where id>='3' order by id DESC limit 2
上述查询将获取id=3或更多的所有结果,并按降序排列,而
LIMIT 2
仅显示2条记录


这就是它显示最后2条记录的原因。

删除此
id>='3'中的单引号。

select id from student where id>=3 order by id desc limit 2
更新1:

select * from student where id>=3 order by id LIMIT 2
按描述排序限制2这里的问题使用子查询获取结果,然后应用降序

select * from (select id from student where id >= 3 order by id limit 2) new order by new.id desc

您可以使用此查询。您希望所有值都小于或等于4,而不是3之后的值

select id from student where id<='4' order by id DESC limit 2

从student中选择id,其中id如果我理解正确,您希望从id+1记录中按降序排列数据。查询应如下所示:

select id from studenth where id<='4' order by id DESC limit 2;

从studenth中选择id,其中id尝试此方法使用子查询很容易理解并满足您的要求:

SELECT id, name 
FROM studenth 
WHERE id IN (SELECT id 
             FROM studenth 
             WHERE id >= 3 ORDER BY id LIMIT 2) ORDER BY id DESC

请尝试以下方法

SELECT id,
       name
FROM tblTable
WHERE id >= 3
ORDER BY id DESC
LIMIT ( ( SELECT COUNT( * )
          FROM tblTable
          WHERE id >= 3 ) - 1 ), 2;
此语句根据
id
的值对
tblTable
中的记录进行排序。然后使用
LIMIT
从排序列表中选择特定记录。如果存在
20
eligibnle记录,则等于
LIMIT 19,2
,这将给出第19条和第20条记录


如果您有任何问题或意见,然后请随时发表相应的评论。

删除“id”中的单引号,并按asc limit 2try my answer@Adhy MusaadI将数据从largest@AdhyMusaad如果您只想使用id=3和4的记录,则使用“仅按id排序”和“限制2”。@ADHYMUSAD您想使用id=3和id=4这两条记录,然后然后按降序排序?在这种情况下,这将给出预期的结果;但是您必须找到一个使用id“3”来保持OP逻辑的查询“r”是什么意思?以前从未在sql查询中见过。它实际上是'as r','as'被省略。