[英]Select max date in a group where max date is less than current date
我正在嘗試對此表數據執行mysql查詢,該查詢將返回小於預訂編號分組的當前日期的最新日期。
表數據示例:
bookingnumber | booking_date |
------------------------------
11 | 2015-02-21 |
11 | 2015-02-22 |
11 | 2015-02-20 |
12 | 2015-02-20 |
13 | 2015-02-22 |
------------------------------
如果當前日期是2015-02-21,我正在努力獲得以下結果:
bookingnumber | booking_date |
------------------------------
12 | 2015-02-20 |
我已經嘗試過MAX,子查詢和組,這是到目前為止我設法做到的“最佳”:
"select bookingnumber, booking_date
FROM table
WHERE
(select max(booking_date) from table as f where f.bookingnumber = table.bookingnumber)
AND booking_date < CURRENT_DATE"
但是,這給了我結果:
bookingnumber | booking_date |
------------------------------
12 | 2015-02-20 |
11 | 2015-02-20 |
以下內容返回您要求的結果。 它返回沒有當前或將來預訂日期的最后預訂日期:
SELECT bookingnumber, max(booking_date)
FROM table
GROUP BY bookingnumber
HAVING max(booking_date) < CURRENT_DATE();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.