【发布时间】:2008-08-06 18:47:24
【问题描述】:
我正在尝试以下查询:
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
这三个查询粘在一起,有点像。但是,返回的结果集在查询 #1 的结果之前反映了查询 #3 的结果,这是不希望的。
有没有办法对这些进行优先级排序,以便查询#1 的结果全部出现,然后查询#2 的结果全部出现,然后查询#3 的结果全部出现?我还不想在 PHP 中执行此操作(更不用说必须控制在第一个查询中显示的结果不在第二个查询中显示等等)。
【问题讨论】: