【发布时间】:2021-12-23 12:41:18
【问题描述】:
以下是预订发生的所有修改。
我需要为预订 ID 提取结帐日期小于之前的预订。比如客人是否更改了预订以及他们是否提前了结帐日期。
输出: - 只有 2 个,因为这是结帐日期小于前一个的唯一预订。
查询:我尝试获取有修改的保留并分配了排名,但仍然不确定如何比较前一个。您能否建议如何在此处进行操作。
SELECT ReservationID
FROM (
SELECT ReservationID,RANK() OVER(PARTITION BY ReservationID ORDER BY CheckoutDate Desc) rn
FROM RESERVATIONS
WHERE ReservationID IN (
SELECT ReservationID
FROM (
SELECT ReservationID,COUNT(DISTINCT CheckoutDate)
FROM RESERVATIONS
GROUP BY ReservationID
HAVING COUNT(DISTINCT CheckoutDate) >1
)
)
) WHERE rn=1
【问题讨论】: