Получить строки заказов, сгруппированные по следующим двум возможным датам отгрузки

Я пытаюсь выяснить в sql, как выбрать все строки заказов для следующих двух возможных дат отгрузки.

Заказы

    ID  Name       ShipmentDate
    1   Product 1    2019-04-10
    2   Product 1    2019-04-12
    3   Product 2    2019-04-12
    4   Product 1    2019-04-14

Желаемый результат

    ID  Name       ShipmentDate
    1   Product 1    2019-04-10
    2   Product 1    2019-04-12
    3   Product 2    2019-04-12
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Один метод использует dense_rank():

select ol.*
from (select ol.*,
             dense_rank() over (order by shipmentdate desc) as seqnum
      from orderlines ol
     ) ol
where seqnum <= 2;

Кроме того, вы можете использовать фильтрацию в предложении where:

select ol.*
from orderlines ol
where ol.shipmentdate >= (select distinct ol2.shipmentdate
                          from orderlines ol2
                          order by shipmentdate desc
                          offset 1 fetch first 1 row only
                         );

Другие вопросы по теме