Hej, Prestanda får du med rätt index.Ta bort dubbletter
    
    
Jag försöker skapa en SELECT-sats som returnerar en tabell utan dubbletter. Vad som är en dubblett skall kunna sättas i frågan. För att någon skall förstå vad jag menar så följer här ett exempel:
Jag har tabellen:
Col1 Col2   Col3
1	1	data value one                                    
2	1	data value Two                                    
3	2	data value Three                                  
4	2	data value Four                                   
5	3	data value Five                                   
Jag vill att man skall kunna ange att man vill ha alla unika Col2 med den första förekommande Col1 och Col3. Dvs:
Col1 Col2   Col3
1	1	data value one                                    
3	2	data value Three                                  
5	3	data value Five                                   
Denna frågan kommer att köras på tabeller som kommer att ha flera tio/hundratals tusen rader så det är bra om det är någorlunda hastighet på den.
Tack på förhand!Sv: Ta bort dubbletter
    
    
Prova den här (SQL Server 2005 och framåt):
<code>
;WITH get_ordered_dataset AS
(
    SELECT
        col1,
        col2,
        col3,
        ROW_NUMBER() OVER(PARTITION BY col2 ORDER BY col2) AS rn
    FROM [din tabell]
)
SELECT
    col1,
    col2,
    col3
FROM get_ordered_dataset
WHERE (rn = 1);
</code>