Сначала попробуйте сами: на собеседовании подсказки не будет.
Второе по величине значение, а не вторая строка: суммы могут повторяться, поэтому сначала DISTINCT. Сортируем по убыванию, OFFSET 1 LIMIT 1 пропускает максимум и берёт следующий.
NULL отбрасываем заранее: при ORDER BY ... DESC PostgreSQL ставит NULL первыми, и без фильтра «вторым» оказалось бы настоящее максимальное значение. Вариант с dense_rank() = 2 эквивалентен.
SELECT DISTINCT total_amount AS second_amount FROM orders WHERE total_amount IS NOT NULL ORDER BY total_amount DESC OFFSET 1 LIMIT 1