簡體   English   中英

在最大日期小於當前日期的組中選擇最大日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM