Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में ROW_NUMBER() क्या है?

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+ में ही उपलब्ध है।
  1. - MySQL में फ्लोट स्टोर करने के लिए क्या उपयोग किया जाता है?

    MySQL में फ्लोट स्टोर करने के लिए, आप DECIMAL() की अवधारणा का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( Price DECIMAL(10,2) ); टेबल में कुछ रिकॉर्ड डालें: INSERT INTO DemoTable VALUES(12345678.99); टेबल से सभी रिकॉर्ड प्रदर्शित करें: SELECT * FROM DemoTable; आउटप

  1. - MySQL में "SELECT TRUE" क्या है?

    स्टेटमेंट SELECT TRUE पंक्ति मिलने पर 1 लौटाता है। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable(Name varchar(100)); Query OK, 0 rows affected (0.54 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris); Query OK, 1 row affecte

  1. - MySQL में SELECT @@identity क्या करता है?

    @@identity से वर्तमान सत्र का अंतिम AUTO_INCREMENT मान प्राप्त करना @@identity सिस्टम वेरिएबल वर्तमान कनेक्शन/सत्र में AUTO_INCREMENT कॉलम में डाला गया अंतिम मान लौटाता है। यह LAST_INSERT_ID() के समान है लेकिन सत्र-विशिष्ट है। टेबल और डेटा CREATE TABLE DemoTable( UserId INT NOT NULL AUTO_INCRE