我想知道是否可以通过子查询返回的逗号分隔的顺序进行排序?
我有以下内容:
SELECT navigation.id, documents.template_id
FROM navigation
INNER JOIN documents
ON navigation.document_id = documents.id
AND FIND_IN_SET(navigation.id,(SELECT numeric_lineage
FROM navigation WHERE id = #id#))
ORDER BY ???
现在我不确定如何以与numeric_lineage中逗号分隔的设置相同的顺序排序结果。可能吗?如果可能的话,我宁愿不要做另一个子查询。
由于
答案 0 :(得分:5)
您可以在ORDER BY子句中使用FIND_IN_SET:
ORDER BY FIND_IN_SET(navigation.id, (SELECT numeric_lineage
FROM navigation WHERE id = #id#))