Как вывести по одной записи для каждого значения аттрибута?

базы данных sql оптимизация запрос DB

Например если таблица ГОРОДА(НАЗВАНИЕ, СТРАНА, КОЛИЧЕСТВО_ЖИТЕЛЕЙ) - соответственно в каждой стране много городов, а требуется лишь по одному самому большому городу из каждой страны (касательно населения).

Чтобы вместо:

NAME COUNTRY POPULATION
Vienna A 1583000
Graz A 238000
Linz A 203000
Salzburg A 144000
Innsbruck A 118000
Klagenfurt A 87321
St. Polten A 51102
Eisenstadt A 10102
Bregenz A null
Kabul AFG 892000
Saint Johns AG 36000
Tirane AL 192000
Shkoder AL 62000
Durres AL 60000

было:

NAME COUNTRY POPULATION
Vienna A 1583000
Kabul AFG 892000
Saint Johns AG 36000
Tirane AL 192000

Думал так:

SELECT *
FROM (SELECT *
FROM CITY
ORDER BY COUNTRY, POPULATION DESC)
GROUP BY COUNTRY

но пишет ошибку:

Поле NAME должно быть в списке GROUP BY:

SELECT NAME, COUNTRY, POPULATION
FROM (SELECT *
FROM CITY
ORDER BY COUNTRY, POPULATION DESC)
GROUP BY COUNTRY, NAME, POPULATION

тогда без ошибок, но резултат - перемешанная таблица ненужных мне записей...

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.