Query

查詢以獲取具有最近日期的記錄

  • June 18, 2020

如何製作如下所示的數據:

Job_Id  Monitor_Date
B119    3/11/2010
B119    3/07/2013
B119    15/05/2020
B121    03/05/2015
B167    3/12/2010
B167    3/07/2013
B167    15/10/2015
B189    31/07/2015
B189    07/05/2015

看起來像這樣 - 每個 Job_ID 只有 1 條記錄,它是最近的 Monitor_Date:

Job_Id  Monitor_Date
B119    15/05/2020
B121    13/05/2015
B167    15/10/2015
B189    7/05/2020
SELECT Job_Id, MAX(Monitor_Date) Monitor_Date
FROM source_table
GROUP BY Job_Id

您可以使用 order by 來定義從選擇返回的順序。您可以使用 MS SQL ’top 4’ 和 Oracle 我認為它是行數來限制返回的行。SQL 引擎必須了解監控日期列,因此如果它是一個文本欄位,則必須在查詢期間使用 todate(3/11/10, xxx) 之類的函式將其轉換為日期。

引用自:https://dba.stackexchange.com/questions/269384