這是一個瘋狂的問題,但基本上我們需要標記與條件匹配的第一行,而不是其他的匹配,例如我們有一個所有用戶每天登錄的歷史記錄,但每個本月,我們想表明這是一個特定日期前登錄,例如:SQL Server 2008指示匹配的第一行,但不匹配
UserId LoginDate
1 2011-12-31
2 2012-12-31
1 2012-01-01
2 2012-01-02
1 2012-01-02
2 2012-01-03
等....
我們希望有一個SQL查詢將返回登錄即首先爲每個月結果集類似於:
UserId LoginDate WasFirstLoginOfMonth
1 2011-12-31 0
2 2012-12-31 0
1 2012-01-01 1
2 2012-01-02 1
1 2012-01-02 0
2 2012-01-03 0
等....
我知道這似乎是一個瘋狂的要求,但我們需要知道哪些登錄滿足某一特定日期的條件,但只能有一個,其餘的則不能。
有沒有辦法做到這一點沒有一個緩慢的子選擇每行看看它是否是第一個?
非常感謝您的幫助。
將傳遞給查詢的conidtion是什麼?是'哪月登錄日期',那麼查詢應該只獲得第一個包含該月中前兩個日期的行,並且像樣本數據中那樣忽略其餘行?或者是什麼?你能解釋更多嗎? –