Hey pro's, ik heb een tabel met rijen emails die opgeslagen zijn op de harddisk als .msg bestanden. Sommige van deze emails zijn gelijk, en ik heb een column MD5 om de dubbelen er uit te filteren. Nu hoef ik van al die gelijke emails maar één verwijzing te hebben naar een bestand op de harddisk, dus ik zat te denken aan de eerste de beste waarde die hij tegen komt, maar 't mag ook een random waarde zijn.
Dus zoiets:
Tabel: ID - MD5 - Sent - Location - Subject
Query:
Wat ik zelf vond online:
http://dbaspot.com/forums...ehaviour.html#post1061689
Ik heb dat voorbeeld omgezet naar mijn eigen tabel, het lijkt te werken, maar ik heb geen idee wat het doet. Kan iemand iets uitleggen?
Dus zoiets:
Tabel: ID - MD5 - Sent - Location - Subject
Query:
code:
1
2
| SELECT DISTINCT [md5] , [sent], first_value([location]), [subject] FROM @temp |
Wat ik zelf vond online:
http://dbaspot.com/forums...ehaviour.html#post1061689
Ik heb dat voorbeeld omgezet naar mijn eigen tabel, het lijkt te werken, maar ik heb geen idee wat het doet. Kan iemand iets uitleggen?
code:
1
2
3
4
5
6
7
8
| WITH QueryB AS ( SELECT [md5], [sent], [location], [subject], rn = row_number() OVER (PARTITION BY md5 ORDER BY sent) FROM @temp ) SELECT [md5], [sent], [location], [subject] FROM QueryB WHERE rn = 1 |