У меня есть таблица, в которой хранятся дата доставки и номер заказа.Как выбрать только вторую максимальную дату из таблицы
Здесь я был в состоянии получить заказ с максимальной датой поставки.
SELECT DISTINCT D.ORDER_NO
FROM DELIVERY D
WHERE D.CUSTOMER_NO =112 AND D.DELIVERY_DATE = (SELECT MAX(D1.DELIVERY_DATE) FROM DELIVERY D1
WHERE D1.CUSTOMER_NO = 112);
Здесь может быть несколько заказов.
Теперь я хочу получить только вторую максимальную дату.
Используя приведенный выше запрос, я смог получить список данных, отличных от максимальной даты поставки, изменив =
на <
и добавив ORDER BY
в подзапрос.
Но его полный список, но я хочу только вторую максимальную дату.
Кто-то скажет мне, как я могу получить только вторую максимальную дату.
Примечание: Я попытался с помощью ROWNUM<=1
, но я получаю неправильную дату
Используете ли вы Oracle или SQL Server? –
Удаление тега SQL Server, так как 'ROWNUM' является функцией Oracle –
@TimBiegeleisen Я использую Oracle –