我正在从数据库中获取属于某个电台组的所有电台。 从 station_group_id = 1 的电台中选择*
。
现在,从所有获取的结果中,我希望某些结果首先出现(例如,line_id = 2 的车站首先出现)。例如,如果这是我的 stations
表:
id | station_group_id | line_id
-------------------------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
我希望输出是:
id | station_group_id | line_id
-------------------------------
1 | 1 | 2
2 | 1 | 1
3 | 1 | 3
因此 line_id = 2
是输出中的第一条记录。
我考虑过使用ORDER BY
,但这不完全是一个顺序问题,它更多的是一个“偏好”问题。
那么,是否可以根据条件(最好是在一个查询中)在输出之上放置一些记录?谢谢!
最佳答案
尝试以下:
SELECT * FROM stations
WHERE station_group_id = 1
ORDER BY if(line_id in('2','X','Y','Z'),0,1)
关于mysql - 获取具有 ID 的所有记录,但第一条记录也应匹配另一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9353650/