विंडो फ़ंक्शन DENSE_RANK()
एक OVER()
. के साथ खंड:
DECLARE @tbl TABLE(Column1 INT,Column2 INT,Column3 VARCHAR(100));
INSERT INTO @tbl VALUES(1,1,'A')
,(1,2,'A')
,(1,3,'B')
,(2,1,'A')
,(2,2,'A')
,(2,3,'B')
,(3,1,'A')
,(3,2,'B')
,(3,3,'V');
SELECT *
,DENSE_RANK() OVER(PARTITION BY Column1 ORDER BY Column3) AS ComputedColumn
FROM @tbl;
PARTITION BY
column1
. में हर नए मान के लिए काउंटर फिर से शुरू करेगा , जबकि ORDER BY
रैंकिंग को परिभाषित करता है।
संकेत:चित्र पेस्ट न करें!
अपने अगले प्रश्न के लिए कृपया मेरे उदाहरण का अनुसरण करके अपनी समस्या को पुन:प्रस्तुत करने वाला एक स्टैंडअलोन उदाहरण बनाएं और वह कोड जोड़ें जिसे आपने स्वयं आज़माया है।