我有一个使用'with CTE'功能的现有查询。此查询返回我想要的结果,但是,查询还会在任何给定日期的特定时间范围内返回重复值。举个例子,查询返回如下结果:
rn | NAME MACHINE SUPERVISOR LAST_UPDATE
1 | NAME_1 T_001 SUP_1 2015-10-14 09:55:26.637
2 | NAME_2 T_002 SUP_2 2015-10-14 11:54:07.087
3 | NAME_2 T_002 SUP_3 2015-10-14 12:02:31.663
4 | NAME_3 T_003 SUP_4 2015-10-14 22:53:28.253
5 | NAME_4 T_005 SUP_4 2015-10-14 09:55:47.293
6 | NAME_3 T_003 SUP_3 2015-10-15 01:59:00.000
7 | NAME_3 T_003 SUP_3 2015-10-15 10:19:00.000
现在,这是我需要实现的规则:我需要在9 AM-9PM和9 PM-9AM时间范围内获取具有相同名称和机器的最新行。这是我需要实现的结果:
rn | NAME MACHINE SUPERVISOR LAST_UPDATE
1 | NAME_1 T_001 SUP_1 2015-10-14 09:55:26.637
3 | NAME_2 T_002 SUP_3 2015-10-14 12:02:31.663
5 | NAME_4 T_005 SUP_4 2015-10-14 09:55:47.293
6 | NAME_3 T_003 SUP_3 2015-10-15 01:59:00.000
7 | NAME_3 T_003 SUP_3 2015-10-15 10:19:00.000
请注意第2行已被删除,因为第2行和第3行具有相同的名称和机器,并且因为它们在9 AM-9PM时间范围内,所以我只需要最新版本的第3行。
查看第4,6和7行。这些行具有相同的名称和机器,但只有第4行和第6行是9 PM-9AM时间范围内的行。所以只保留了第6行。第7行未受影响,因为它在其自己的时间跨度上是唯一的(名称和机器)。
如果你能帮助我,我真的很感激。提前谢谢。
答案 0 :(得分:0)
试试这个:
panel.clear();