2015-05-26 25 views
0

您能否幫助我編寫標記客戶端服務停止的最後日期的分析函數?例如,一個客戶有2-3站的服務,我想要統計有多少站,並標記停止的最後日期。編寫分析函數以標記某列的最後日期

我使用

SELECT column_name1, column_name2, column_name3, column_name4 
    , ROW_NUMBER() OVER(PARTITION BY column_name3 ORDER BY column_name4) AS Something 
    FROM ... 
WHERE ... 
ORDER B 

其中column_name3包含狀態 - 是服務停止,column_name4包含上次停止的日期。

+0

感謝您的編輯。我的英語不太好。在column_name3中有'主動','無效'。 column_name4包含日期 - column_name3中的哪個日期變爲活動或不活動 – Koshuta

+0

哪一列標識客戶端? –

+0

第1列是身份證號碼 – Koshuta

回答

0

我希望我理解正確的話,你

select unique column_name1, column_name2, column_name3, 
    max(when column_name3 = 'inactive' then column_name4 end) over(partition by column_name1) last_date, 
    count(when column_name3 = 'inactive' then 1 end) over(partition by column_name1) cnt 
相關問題