Присоединяйтесь к странам континентам. Затем суммируйте, чтобы получить количество используемых валют. Затем используйте row_number()
(или rank()
, если вы хотите сохранить связи), чтобы получить порядковый номер для каждого континента - чем больше используется валюта, тем меньше порядковый номер. Получите только строки, в которых этот порядковый номер равен 1
.
SELECT x.continentcode,
x.currencycode,
x.currencyusage
FROM (SELECT ct.continentcode,
cy.currencycode,
count(cy.currencycode) currencyusage,
row_number() OVER (PARTITION BY ct.continentcode
ORDER BY count(cy.currencycode) DESC) rn
FROM continents ct
LEFT JOIN countries cy
ON cy.continentcode = ct.continentcode
GROUP BY ct.continentcode,
cy.currencycode) x
WHERE x.rn = 1;
И в следующий раз не размещайте изображения таблиц. Вместо этого вставьте операторы CREATE
и INSERT
, чтобы создать их как текст .