【发布时间】:2021-01-15 15:09:01
【问题描述】:
我执行了这个查询:
SELECT
bookings.id
, bookings.confirmed_at
, bookings.disputed
, bookings.disputed_at
, bookings.no_show_blocked_until
, bookings.user_id
, bookings.refunded
, bookings.refunded_at
, invoices.id AS invoice_id
, invoices.state
, invoices.currency_to_eur
, lessons.time
FROM
bookings
LEFT JOIN invoice_lines
ON invoice_lines.booking_id = bookings.id
LEFT JOIN invoices
ON invoices.id = invoice_lines.invoice_id
LEFT JOIN lesson_bookings
ON lesson_bookings.booking_id = bookings.id
LEFT JOIN lessons
ON lessons.id = lesson_bookings.lesson_id
我的问题是我得到的分区显示了许多具有相同 booking_id 和 invoice_id 的记录,但与课程时间列的日期不同。对于具有相同预订 ID 和发票 ID 的记录,我只想获取具有最后日期的记录。请问我该怎么办?
示例:
booking_id invoice_id 日期
123 325 01/01/2020 123 325 01/02/2020 123 200 01/05/2020 123 300 01/05/2020 200 600 07/08/2020
我想得到的是:
123 325 01/02/2020 123 200 01/05/2020 123 300 01/05/2020 200 600 07/08/2020
【问题讨论】:
-
请以文本形式提供示例数据和所需输出
-
您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库使用的一种查询语言,而不是特定数据库产品的名称和日期函数是完全特定于供应商的。请为您使用的数据库产品添加tag。 Why should I tag my DBMS
-
标签已添加!我实际上正在使用 Postgresql