Sql server SQL Server-在列中查找重复项
请有人能帮我找到下面这个例子的解决方案吗 用户OperatorID执行的每项工作都应该有输入和输出,如果用户在连续行中输入两次或两次输入两次或输出两次,则我只需要将最新的事务记录到我的结果中 因此,在我上面的例子中,ID102是我们感兴趣的,而忽略了其余的 位置可以是任何东西,即SI/SO、D1/DO等。用于获取副本的第二行,其中id=id-1,运算符id和位置相同:Sql server SQL Server-在列中查找重复项,sql-server,sql-server-2008,Sql Server,Sql Server 2008,请有人能帮我找到下面这个例子的解决方案吗 用户OperatorID执行的每项工作都应该有输入和输出,如果用户在连续行中输入两次或两次输入两次或输出两次,则我只需要将最新的事务记录到我的结果中 因此,在我上面的例子中,ID102是我们感兴趣的,而忽略了其余的 位置可以是任何东西,即SI/SO、D1/DO等。用于获取副本的第二行,其中id=id-1,运算符id和位置相同: select * from t where exists ( select 1 from t i where i.
select *
from t
where exists (
select 1
from t i
where i.OperatorId = t.OperatorId
and i.id = t.id-1
and i.Location = t.Location
)
返回:
+-----+---------------------+----------+------+--------+------------+-------------+-------------------+
| id | datetime | location | site | client | operatorId | containerId | WorkflowId |
+-----+---------------------+----------+------+--------+------------+-------------+-------------------+
| 102 | 2017-02-03 11:10:21 | PO | AA | TEMP | Test1 | 451 | 123F-258G-369147C |
+-----+---------------------+----------+------+--------+------------+-------------+-------------------+
如果Id不是连续的,则可以使用带有:
用于获取副本的第二行,其中id=id-1,运算符id和位置相同:
select *
from t
where exists (
select 1
from t i
where i.OperatorId = t.OperatorId
and i.id = t.id-1
and i.Location = t.Location
)
返回:
+-----+---------------------+----------+------+--------+------------+-------------+-------------------+
| id | datetime | location | site | client | operatorId | containerId | WorkflowId |
+-----+---------------------+----------+------+--------+------------+-------------+-------------------+
| 102 | 2017-02-03 11:10:21 | PO | AA | TEMP | Test1 | 451 | 123F-258G-369147C |
+-----+---------------------+----------+------+--------+------------+-------------+-------------------+
如果Id不是连续的,则可以使用带有:
请参阅参考链接以了解有关如何提出完美问题的更多信息:也请避免发布图像,除非必要。请参阅参考链接以了解有关如何提出完美问题的更多信息:也请避免发布图像,除非必要。对不起,SqlZim,出于某种原因,我可能会得到空白结果,知道吗?我首先将所需的值存储在临时表中,并使用以下格式的查询。不知道我哪里做错了。你能帮忙吗?从存在的temp1 t中选择t.*从temp1 i中选择1,其中i.OperatorId=t.OperatorId和i.id=t.id-1和i.Location=t。Location@satya的id顺序与您的示例中相同?找到了我的表本身的问题所在。ID不是-1条目。我相信我现在可以复制同样的原理并解决它。谢谢你的帮助,如果ID不连续,他们的tp排序是最快的方法吗?请advise@satya更新了我的答案抱歉SqlZim,由于某种原因我得到了空白结果,知道吗?我首先将所需的值存储在临时表中,并使用以下格式的查询。不知道我哪里做错了。你能帮忙吗?从存在的temp1 t中选择t.*从temp1 i中选择1,其中i.OperatorId=t.OperatorId和i.id=t.id-1和i.Location=t。Location@satya的id顺序与您的示例中相同?找到了我的表本身的问题所在。ID不是-1条目。我相信我现在可以复制同样的原理并解决它。谢谢你的帮助,如果ID不连续,他们的tp排序是最快的方法吗?请advise@satya更新了我的答案