выбор наибольшего n значений и наименьших n значений одновременно из таблицы mySQL - PullRequest
0 голосов
/ 14 марта 2020

В mySQL у меня есть база данных названий стран и населения, я хочу вернуть 5 самых населенных и 5 наименее населенных стран. Я понимаю, как упорядочить результаты по совокупности и как ограничить результаты верхними значениями 'n' или нижними значениями 'n' столбца, но не могу определить, как вернуть как верхнюю, так и нижнюю значения, используя один запрос.

ЗДЕСЬ два кода по отдельности ...

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

SELECT Name, GNP FROM country 
ORDER GNP LIMIT 5; 

Как объединить эти коды в один выход ??

Спасибо

1 Ответ

1 голос
/ 14 марта 2020

Вам нужно 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;

См. Упрощенную демонстрацию .

...