Я создал два сдвоенных массива, один с арабскими числами, другой с римскими символами.
function convert(num) {
var result = '';
var rom = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
var ara = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
Затем я добавил цикл, который сканирует римские элементы, добавив, что наибольший по-прежнему состоит из NUM для РЕЗУЛЬТАТОВ, тогда мы уменьшаем NUM той же суммы.
Это похоже на то, что мы отображаем часть NUM в римских числах, а затем уменьшаем ее на ту же сумму.
for (var x = 0; x < rom.length; x++) {
while (num >= ara[x]) {
result += rom[x];
num -= ara[x];
}
}
return result;
}
Вы можете использовать приведенное ниже, чтобы получить желаемый результат:
ЛЕГКИЙ МЕТОД
blockquote>SELECT TOP 1 c.year FROM coach AS c INNER JOIN team AS t ON c.team = t.team AND c.year = t.year WHERE t.worldcupwin = 'Y' ORDER BY c.wins DESC;
использовать row_number()
оконную функцию
select a.coach,a.team,a.win,a.year from
(select c.*,t.*,
row_number()over(order by wins desc) rn
from coach c join team t on c.team=t.team
where worldcupwin='Y'
) a where a.rn=1
В следующем запросе используется DISTINCT ON
:
SELECT DISTINCT ON (year) c.year, wins, worldcupwin, c.team
FROM coach AS c
INNER JOIN team AS t ON c.team = t.team AND c.year = t.year
WHERE c.year > 1999
ORDER BY year, wins DESC
для возврата записей с наибольшим числом побед в год
year wins worldcupwin team
---------------------------------
2000 4 Y a
2003 5 N b
Фильтрация команд, которые не выиграть кубок мира:
SELECT year, team
FROM (
SELECT DISTINCT ON (year) c.year, wins, worldcupwin, c.team
FROM coach AS c
INNER JOIN team AS t ON c.team = t.team AND c.year = t.year
WHERE c.year > 1999
ORDER BY year, wins DESC) AS t
WHERE t.worldcupwin = 'Y'
ORDER BY year, wins DESC
дает ожидаемый результат:
year team
-------------
2000 a
Вы можете использовать коррелированный подзапрос
SELECT c.year, c.team
FROM coachs AS c inner join teams t on c.team = t.team and c.year=t.year
WHERE c.year >= 1999 and exists (select 1 from coachs c1 where c.team=c1.team
having max(c1.wins)=c.wins)
и t.worldcupwin = 'Y'
ВЫХОД:
year team
2000 a