ORDER BY
в порядке.Вам просто нужен индекс для столбца.
Если бы у меня была таблица с триллионом строк, а один из столбцов назывался salary
, я бы поставил под сомнение модель данных или ее реализацию.В любом случае это было бы в очень параллельной базе данных.Такие базы данных, как правило, имеют свои причуды, но обычно есть методы для извлечения значения.
Конечно, то, что искал интервьюер, больше похоже на:
select max(t.col)
from t
where t.column < (select max(t2.col)
from t t2
where t2.col < (select max(t3.col) from t)
);
Это отсканируеттаблица три раза и не имеет промежуточных шагов для агрегации или сортировки.Но на практике могут быть и другие решения в зависимости от базы данных.