我想在不使用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。
答案 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