suifengJC614 2016-12-15 13:36 采纳率: 0%
浏览 938

mysql怎么在非ID列排序的情况下取出某个ID之后的数据?

例子如下
现有表如下
id num
1 3
2 1
3 2
4 2
5 3
6 2
7 1
要求排序规则为 order by num desc, id desc
在这个排序规则之下找出某个ID之后的数据,包括指定的这个ID,输入条件只有这个ID

假如现在输入ID 为 4 那么相应输出结果应该为
id num
4 2
3 2
7 1
2 1

假如现在输入ID 为 1 那么相应输出结果应该为
id num
1 3
6 2
4 2
3 2
7 1
2 1

我尝试过limit 但是问题是现在输入条件只有ID 我无法找出这个ID对应应该limit 的 偏移量
我也尝试过用模拟rownum的办法取出,使用子查询,但是貌似limit 后面不能跟子查询?
我尝试后报错
希望各位大神能给出mysql的查询语句,小弟不胜感激

  • 写回答

2条回答 默认 最新

  • 下一个明天_tgm 2016-12-15 15:06
    关注

    你可以试一试 select * from table where id >= 5 order by num desc,id desc;

    评论

报告相同问题?

悬赏问题

  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义