【问题标题】:SQL Flag consecutive (follow) recordsSQL 标记连续(跟随)记录
【发布时间】:2017-08-17 12:13:42
【问题描述】:

我对 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

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

这将标记名称为 Klein 的最后 2 行。

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

【问题讨论】:

  • 请用您正在使用的数据库标记您的问题。

标签: sql sql-server-2014


【解决方案1】:

您可以使用 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;

【讨论】:

    猜你喜欢
    • 2020-06-18
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多