把需要置顶的记录先查询出来,然后再查询其他的记录,把两个结果集合并。置末则反之。
合并结果集方法 :
1 数组合并:$list1 = "select a, b, c from table_name where ... order by ...";
$list2 = "select a, b, c from table_name where ... ";
$list =array_merge($list1,$list2);
2 union all (union)
使用 union all 注意事项
为了对单个SELECT使用ORDER BY或LIMIT,应把子句放入圆括号中。圆括号包含了SELECT:
(SELECT a FROM tbl_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM tbl_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
注意:
圆括号中用于单个SELECT语句的ORDER BY只有当与LIMIT结合后,才起作用。否则,ORDER BY被优化去除。