我有以下查询:如何比较有序数据集和数据集?
select * from events order by Source, DateReceived
这给了我这样的事情:
我想获得我标记为蓝色的结果 - >当有两个或两个以上相等的ErrorNr-Entries来自相同的源。
所以我必须比较每一行与之前的行。我怎样才能做到这一点?
这就是我想:
我有以下查询:如何比较有序数据集和数据集?
select * from events order by Source, DateReceived
这给了我这样的事情:
我想获得我标记为蓝色的结果 - >当有两个或两个以上相等的ErrorNr-Entries来自相同的源。
所以我必须比较每一行与之前的行。我怎样才能做到这一点?
这就是我想:
通过选择应用的行数超过分区在你的桌子:
SELECT
ROW_NUMBER() OVER(PARTITION BY Source ORDER BY datereceived)
AS Row,
* FROM events
要么你可以运行(最大),具有对结果集的行数> 1个选项。或者,如果您需要详细信息,请使用与1相同的查询来扣除行编号。 然后,您可以对源编号和行编号进行连接,并且如果错误编号相同,则您有一个匹配项。
您可以通过如下使用分区。
select * from(select
*,row_number()over(partition by source,errornr order by Source, DateReceived) r
from
[yourtable])t
where r>1
您可以在外部选择中指定您的列名称。