これはクレイジーな質問ですが、基本的に条件に一致する最初の行をマークする必要がありますが、残りはマークする必要はありません。たとえば、すべてのユーザーの毎日のログインの履歴がありますが、毎月特定の日付より前のログインを表示したいのですが、例えば:
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
等....
これはおかしな要件のように思えますが、どのログインが特定の日付条件を満たすかを知る必要がありますが、1つだけが可能で、残りはできません。
それが最初であるかどうかを確認するために各行をゆっくりと副選択せずにこれを行う方法はありますか?
助けてくれてありがとう。