SQL标记连续(跟随)记录

时间:2017-03-24 14:01:36

标签: sql sql-server-2014

我对SQL比较陌生,我试图寻找类似的问题,但我不确定问题是否与我的问题有关,或者答案可能是否超出了技能水平。

我认为问题很简单,但我不确定解决方案是否简单。

我有以下sql表输出

Room      Name       Time in Room     Turnover   Date
11    Mansson     740             NA             1/21/2017
11    Klein       841             NA             1/21/2017
11    Klein       1035            28             1/21/2017

我想写一个查询,我可以在其中标记以下记录连续的字段 - 房间,名称,日期。

这将标记Name为Klein的最后两行。

有没有办法做到这一点,如果是,请指导我。

1 个答案:

答案 0 :(得分:0)

您可以使用ANSI标准窗口函数添加room / name / date标志:

select t.*,
       (case when count(*) over (partition by room, name, date) > 1
             then 1 else 0
        end) as HasDuplicatesFlag
from t;