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

MySQL में सीरियल नंबर के रूप में पंक्तियों की गिनती करने वाला कॉलम कैसे जोड़ें?


उपयोगकर्ता-परिभाषित वेरिएबल का उपयोग करें

एक नया कॉलम जोड़ने के लिए जो प्रत्येक पंक्ति को सीरियल नंबर (1, 2, 3...) के रूप में गिनता है, आप MySQL में उपयोगकर्ता-परिभाषित वेरिएबल (@variable) का उपयोग कर सकते हैं।

टेबल बनाना और डेटा डालना

mysql> CREATE TABLE addColumnToCountAsSerialNumber (
    Id INT,
    Name VARCHAR(20),
    Age INT,
    Salary INT
);
mysql> INSERT INTO addColumnToCountAsSerialNumber VALUES(10, 'John', 23, 8576);
mysql> INSERT INTO addColumnToCountAsSerialNumber VALUES(12, 'Carol', 21, 4686);
mysql> INSERT INTO addColumnToCountAsSerialNumber VALUES(9, 'Mike', 22, 38585);
mysql> INSERT INTO addColumnToCountAsSerialNumber VALUES(15, 'Sam', 25, 38586);
mysql> INSERT INTO addColumnToCountAsSerialNumber VALUES(20, 'Bob', 26, 43544);
mysql> INSERT INTO addColumnToCountAsSerialNumber VALUES(39, 'Larry', 29, 485886);

मूल डेटा

+------+-------+------+--------+
| Id   | Name  | Age  | Salary |
+------+-------+------+--------+
|   10 | John  |   23 |   8576 |
|   12 | Carol |   21 |   4686 |
|    9 | Mike  |   22 |  38585 |
|   15 | Sam   |   25 |  38586 |
|   20 | Bob   |   26 |  43544 |
|   39 | Larry |   29 | 485886 |
+------+-------+------+--------+

क्वेरी: सीरियल नंबर कॉलम जोड़ना

mysql> SELECT @globalVar := @globalVar + 1 AS RowCount, tblColumns.*
FROM (SELECT @globalVar := 0) AS initializeGlobalVariable,
     addColumnToCountAsSerialNumber tblColumns;

आउटपुट

+----------+------+-------+------+--------+
| RowCount | Id   | Name  | Age  | Salary |
+----------+------+-------+------+--------+
|        1 |   10 | John  |   23 |   8576 |
|        2 |   12 | Carol |   21 |   4686 |
|        3 |    9 | Mike  |   22 |  38585 |
|        4 |   15 | Sam   |   25 |  38586 |
|        5 |   20 | Bob   |   26 |  43544 |
|        6 |   39 | Larry |   29 | 485886 |
+----------+------+-------+------+--------+

व्याख्या

  • (SELECT @globalVar := 0) वेरिएबल को 0 से इनिशियलाइज़ करता है।
  • @globalVar := @globalVar + 1 प्रत्येक पंक्ति के लिए काउंटर बढ़ाता है।
  • परिणाम में RowCount नामक एक नया कॉलम जुड़ जाता है।

नोट

MySQL 8.0+ में, आप ROW_NUMBER() OVER () विंडो फंक्शन का उपयोग कर सकते हैं जो अधिक मानक और विश्वसनीय है।

  1. - MySQL में अंतिम क्वेरी की पंक्तियों की संख्या कैसे खोजें

    SQL_CALC_FOUND_ROWS और FOUND_ROWS() के साथ कुल पंक्तियां गिनना जब आप LIMIT का उपयोग करते हैं लेकिन यह भी जानना चाहते हैं कि बिना LIMIT के कितनी पंक्तियां मिलतीं, तो SQL_CALC_FOUND_ROWS और FOUND_ROWS() का उपयोग करें। सिंटैक्स SELECT SQL_CALC_FOUND_ROWS TABLE_NAME FROM `information_schema`.tables W

  1. - MySQL 8.0 में ROW_NUMBER() विंडो फ़ंक्शन से SELECT क्वेरी में पंक्ति संख्या (रैंक) जोड़ें

    MySQL 8.0+ में ROW_NUMBER() विंडो फ़ंक्शन का उपयोग करके SELECT क्वेरी के परिणाम सेट में क्रमिक पंक्ति संख्या (रैंक) जोड़ सकते हैं। यह पेजिनेशन, रैंकिंग, और पंक्ति पहचान के लिए मानक, घोषणात्मक तरीका है। सिंटैक्स SELECT column_list, ROW_NUMBER() OVER (ORDER BY sort_column [ASC|DESC]) AS Rank

  1. - MySQL में DATE_ADD से 45 दिन जोड़कर नए कॉलम में कैसे प्रदर्शित करें?

    MySQL में DATE/DATETIME कॉलम में दिन जोड़ने और परिणाम को नए कॉलम में प्रदर्शित करने के लिए DATE_ADD() फंक्शन (या + INTERVAL सिंटैक्स) का उपयोग करें। यह देय तारीख, समाप्ति तारीख, शेड्यूलिंग गणना के लिए आवश्यक है। उदाहरण: DueTime में 45 दिन जोड़ना डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable19