我有以下查詢:如何比較有序數據集和數據集?
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
您可以在外部選擇中指定您的列名稱。