- ROW_NUMBER() : men-generate row number unik dari setiap row yang dihasilkan, tanpa melihat apakah row tsb duplicate atau tidak.
- RANK() : men-generate row number unik untuk setiap row unik (non-duplicate) yang dihasilkan dengan meninggalkan gap diantaranya.
- DENSE_RANK() : men-generate row number unik untuk setiap row unik (non-duplicate) yang dihasilkan tanpa meninggalkan gap diantaranya.
DECLARE @t TABLE(Alpha VARCHAR(1))
INSERT INTO @t
SELECT 'a' UNION ALL
SELECT 'a' UNION ALL
SELECT 'a' UNION ALL
SELECT 'b' UNION ALL
SELECT 'c' UNION ALL
SELECT 'c' UNION ALL
SELECT 'd' UNION ALL
SELECT 'e'
SELECT Alpha,
ROW_NUMBER() OVER (ORDER BY Alpha) AS Row_Numbers,
RANK() OVER (ORDER BY Alpha) AS Ranks,
DENSE_RANK() OVER (ORDER BY Alpha) AS Dense_Ranks
FROM @t
Dan berikut output yang dihasilkan :
Demikian, semoga bermanfaat.
No comments:
Post a Comment