2015-05-26 75 views
0

我試圖計算每月發佈的一些策略的數量。這是接近返回正確的信息:幾列之間的最短日期

SELECT count(policy_no), left(issue_date,6) 
FROM table_a 
WHERE indicator = 'fln' 
GROUP BY left(issue date,6) 

指示燈縮小下來到我想要的類型的策略。我遇到的唯一問題是,隨着保單更新,每年都會有相同的保單號碼。我只需要計算每個政策的最低發行日期,而不是每次政策。如果一項政策是在2010年11月發佈的,我希望它一次計算一次,而不是2010年11月,2011年12月等一次。發佈日期格式爲yyyymmdd。只有年和月是相關的。

我敢肯定,這是一個容易爲你之間的經驗更豐富,我一直無法通過這一論壇的其他問題拼湊它。任何幫助,將不勝感激!

回答

1

像這樣的事情會得到你想要的東西:

SELECT LEFT(FirstIssued, 6) AS YYMM, COUNT(DISTINCT Policy_No) AS NumPolicies 
    FROM 
    (
    SELECT Policy_No, MIN(issue_date) AS FirstIssued 
     FROM table_a 
    WHERE indicator = 'fln' 
    GROUP BY Policy_No 
) A 
GROUP BY LEFT(FirstIssued,6) 

的關鍵是先找到分鐘日期爲每個策略,彙總計數之前。請注意,您將會出現的只有至少一個策略,因此如果您希望有0,則需要添加日期生成器。

+0

這非常有幫助!謝謝! – DemonLlama

+0

@DemonLlama。 。 。如果這回答你的問題,那麼你應該接受答案。 –

相關問題