2017-06-20 248 views
-1

我有一個數據庫(SQL 2014),它包含以下項目:總結連續的日期,開始和結束的塊日期

Name Date 
John 02/02/2017 
John 03/02/2017 
John 04/02/2017 
John 13/03/2017 
John 14/03/2017 

這些條目所代表缺勤塊 - 這可能是每一個短短的一天時間或幾天的塊(可能會在一個塊內進行月份轉換)。

我想如下總結這些數據:

Name MinDate  MaxDate 
John 02/02/2017 04/02/2017 
John 13/03/2017 14/03/2017 

其中輸出包含的每個塊(與天缺席的數目,這將是直接的一起)的第一天和最後一天。

+5

您的邏輯是不明確的。另外,使用您正在使用的數據庫標記。 –

+2

請說明邏輯。每塊連續日期(2月2日至4日,3月13日至14日)是否爲一行?或者是每月最低/最高?每個月可以有多個這樣的區塊嗎? –

+1

另外它被認爲很好顯示你的嘗試 –

回答

1

使用YEARMONTH

SELECT 
    T.Name, 
    MIN(T.Date) MinDate, 
    MAX(T.Date) MaxDate 
FROM 
    Tbl T 
GROUP BY 
    T.Name, 
    YEAR(T.Date), 
    MONTH(T.Date) 
相關問題