ROW_NUMBER() फंक्शन MySQL 8.0 संस्करण से शामिल किया गया है। यह एक विंडो फंक्शन (window function) है जिसका उपयोग प्रत्येक पंक्ति को एक क्रमिक संख्या (sequence number) असाइन करने के लिए किया जाता है।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE rowNumberDemo (
-> FirstName VARCHAR(100)
-> );
Query OK, 0 rows affected (0.92 sec)
mysql> INSERT INTO rowNumberDemo VALUES ('John'), ('John'), ('Bob'), ('Smith');
डेटा देखना
mysql> SELECT * FROM rowNumberDemo;
आउटपुट:
+-----------+
| FirstName |
+-----------+
| John |
| John |
| Bob |
| Smith |
+-----------+
ROW_NUMBER() का उपयोग
mysql> SELECT ROW_NUMBER() OVER (ORDER BY FirstName) AS RowNumberSequence, FirstName
-> FROM rowNumberDemo
-> ORDER BY FirstName;
आउटपुट:
+-------------------+-----------+
| RowNumberSequence | FirstName |
+-------------------+-----------+
| 1 | Bob |
| 2 | John |
| 3 | John |
| 4 | Smith |
+-------------------+-----------+
महत्वपूर्ण बिंदु
OVER (ORDER BY column)क्लॉज क्रम निर्धारित करता है।- डुप्लिकेट मानों को अलग-अलग संख्याएँ मिलती हैं (1, 2, 3...)।
- यह MySQL 8.0+ में ही उपलब्ध है।