我正在尝试以下查询:
SELECT A,B,C FROM table WHERE field LIKE 'query%'
UNION
SELECT A,B,C FROM table WHERE field LIKE '%query'
UNION
SELECT A,B,C FROM table WHERE field LIKE '%query%'
GROUP BY B ORDER BY B ASC LIMIT 5
这相当于把三个查询连在一起。但返回的结果集会先反映出第三个查询的结果,而不是我们想要的按照第一个查询、第二个查询和第三个查询的顺序显示结果。
有没有办法优先级排序,使得结果以第一个查询的结果为主,然后是第二个查询的结果,最后是第三个查询的结果?我暂时不想在PHP中实现(更别提需要控制第一个查询中出现的结果不要在第二个查询中出现等等)。