2013-10-10 150 views
0

我想从使用MySQL查询的表中得到结果。我想要做的是我试图从表格中取20条记录。在这20条记录中,前15条记录必须按升序排列,最后5条记录必须按降序排列。我正在尝试,但我没有办法完成这件事。SQL查询得到合并结果

我不知道如何编写子查询。

谢谢。

+1

所以......如果你的表从有数字'1'到'100'这将是你的期望的输出? –

回答

0

您可以使用UNION ALL

(SELECT * 
    FROM table1 
ORDER BY column_name 
LIMIT 15) 
UNION ALL 
(SELECT * 
    FROM table1 
ORDER BY column_name DESC 
LIMIT 5) 

这里是SQLFiddle演示

+0

这将不起作用,B/C最后查询将返回前5个结果降序,所以改变它,限制15,20 – developerCK

+0

嘿peterm ..感谢您的回复如此之快。但是,这是行不通的..我得到这个错误“不正确的使用UNION和ORDER BY”。我的查询是“SELECT * FROM'blogaliys_options' ORDER BY'option_id' LIMIT 15 UNION ALL SELECT * FROM'blogaliys_options' ORDER BY'option_id' DESC LIMIT 5” –

+0

@Yunus你需要括号。看到更新的答案和sqlfiddle演示 – peterm