我需要一些帮助,根据表中的唯一编号显示具有不同日期的所有行,下面是我创建的虚拟表,类似于我需要分析的表。
我需要展示的是预期日期已经改变但是VisitNumber相同的所有行,我突出显示了四行作为示例;
第一次进入是空的
第二次参赛是25/04/16
然后最后的条目是24/06/16
有时可能会有一个条目,其中访问号码与已更改的行相同但预期日期相同,在这种情况下,我需要忽略它们的行。
此外,可能有多个条目具有相同的唯一ID,但访问号码不同。
答案 0 :(得分:1)
我认为你可以使用窗口函数来做到这一点:
select t.*
from (select t.*,
min(ExpectedDate) over (partition by UniqueId, VisitNumber) as mined,
max(ExpectedDate) over (partition by UniqueId, VisitNumber) as maxed
from t
) t
where mined <> maxed and ExpectedDate is not null;
答案 1 :(得分:1)
这应该做你想要的:
SELECT UniqueID, VisitNumber, Min(ExpectedDate), Max(ExpectedDate)
FROM Table
GROUP BY uniqueID, VisitNumber
HAVING Min(ExpectedDate) <> Max(ExpectedDate)