同时从 table mySQL 中选择最大的 n 个值和最小的 n 个值

selecting the largest n values and smallest n values simulataneously from a table mySQL

在 mySQL 中,我有一个国家名称和人口数据库,我想 return 5 个人口最多的国家和 5 个人口最少的国家。我了解如何按人口对结果进行排序以及如何将结果限制为列的顶部 'n' 值或底部 'n' 值,但无法确定如何 return 顶部和使用一个查询位于底部。

这里分别是两个代码...

SELECT Name, population FROM country 
ORDER BY GNP DESC LIMIT 5; 

SELECT Name, GNP FROM country 
ORDER GNP LIMIT 5; 

如何将这些代码组合成一个输出?

谢谢

你需要UNION ALL:

(
  SELECT Name, population FROM country 
  ORDER BY population DESC LIMIT 5
)
UNION ALL
(
  SELECT Name, population FROM country 
  ORDER BY population ASC LIMIT 5
)
ORDER by population DESC;

查看简化版 demo.