同时从 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.
在 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.