我有两个select语句,我正在寻找一种方法将它们合并为一个。感谢您提供任何帮助和建议。
Original:
1
2
3
4
5
6
Sql:
Select * From (Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1) Order By Id;
Select * From tbl1 Where Id >= 4 Order By Id;
Result:
3
4
5
6
答案 0 :(得分:2)
使用它的重点是什么:
Select * From (Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1) Order By Id;
这还不够吗?:
Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1
无论如何,您可以使用SQL UNION
来实现此目的。
(SELECT * FROM tbl1 WHERE Id < 4 ORDER BY Id DESC LIMIT 1)
UNION
(SELECT * FROM tbl1 WHERE Id >= 4 ORDER BY Id ASC)
ORDER BY Id
您的第一个查询可以视为整个表格。同样,您的第二个查询可以被视为另一个表。
然后,使用SQL运算符UNION
,您可以获得一个合并的结果集,并加入这两个表格。
有关详情,请浏览以下链接: http://www.w3schools.com/sql/sql_union.asp
答案 1 :(得分:1)
您似乎可以使用UNION SELECT
。
Select * From (Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1)
UNION Select * From tbl1 Where Id >= 4
Order By Id;
仅当两个语句的结果具有相同的列数和类型时才有效。