如何在不使用UNION的情况下编写此MYSQL查询?

时间:2010-01-29 18:41:55

标签: mysql union

我想在不使用UNION

的情况下对一个表执行单个查询

以下是我需要合并的两个查询。

SELECT field1, field2, field3 FROM table1 WHERE field4 != 'condition1' AND feild3 >= 'condition2' ORDER BY field3 ASC LIMIT 20;
SELECT field1, field2, field3 FROM table1 WHERE field4 != 'condition1' AND feild3 < 'condition2' ORDER BY field3 DESC LIMIT 5;

基本上,我试图获得超过某个记录的20条记录(按字段3排序,而不是id),并且在它下方有5条记录,而不会在结果中抓取记录本身。

诀窍是,我不能使用UNION。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作 -

select a.*, b.*
from (select field1, field2, field3 
      from table1 
      where field4 != 'condition1' 
        and feild3 >= 'condition2' 
      order by field3 ASC 
      limit 20) a, 
     (select field1, field2, field3 
      from table1 
      where field4 != 'condition1' 
        and feild3 < 'condition2' 
      order my field3 desc
      limit 5) b