需要通过在特定字段中排序值来返回结果的MySql查询。
从下面我的结果集应该包含像parent_id(1,4,6)那样的顺序,首先是parent_id(2,3,7)接下来,其他应该是最后一个。
d data parent_id
----------------------
1 a1 1
2 abc 3
3 abcd 4
4 xyz 2
5 zxyy 6
2 abc 8
3 abcd 9
4 xyz 2
5 zxyy 15
答案 0 :(得分:1)
在CASE
子句中使用ORDER BY
表达式:
SELECT d, data, parent_id
FROM yourTable
ORDER BY CASE WHEN parent_id IN (1, 4, 6) THEN 1
WHEN parent_id IN (2, 3, 7) THEN 2
ELSE 3 END,
parent_id
按照以下链接进行正在运行的演示:
答案 1 :(得分:1)
使用下面提到的查询
SELECT d, data, parent_id FROM table_name ORDER BY FIELD(parent_id,1,4,6,2,3,7);