Bri*_*ian 0 mysql sql sql-order-by
我有一个表有3列代表公交车路线的停靠点.
ID
stop_name
stop_order
Run Code Online (Sandbox Code Playgroud)
我想要返回一个从当前停止开始的停靠列表(我知道).因此,如果当前停止是第5号停止,则返回的内容如下:
stop_order
5
6
7
8
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
我试过了:
Select * from routes where stop_order >= 3 and route = 'Red'
Union
Select * from routes where stop_order < 3 and route = 'Red
Run Code Online (Sandbox Code Playgroud)
如果数据按停靠顺序输入表中,则可以正常工作.如果不是,则按照输入的顺序返回数据.
您可以在一个查询中执行此操作,以使用case语句保存表访问.
select * from routes
where route = 'Red'
order by case when stop_order >= 3 then 0 else 1 end, stop_order
;
Run Code Online (Sandbox Code Playgroud)
更正!