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

MySQL में सिंगल रो के मानों का योग कैसे करें?


सिंगल रो के मानों का योग करने के लिए निम्न सिंटैक्स का उपयोग करें:

केस 1: यदि कॉलम में NULL मान नहीं है

SELECT yourColumnName1 + yourColumnName2 + yourColumnName3 + ... + N 
AS anyVariableName FROM yourTableName;

केस 2: यदि कॉलम में NULL मान है

SELECT IFNULL(yourColumnName1, 0) + IFNULL(yourColumnName2, 0) 
+ IFNULL(yourColumnName3, 0) + ... + N AS anyVariableName 
FROM yourTableName;

उदाहरण के साथ समझें

सबसे पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE SumValueOfSingleRow (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> FirstValue INT,
    -> SecondValue INT,
    -> ThirdValue INT,
    -> PRIMARY KEY(Id)
    -> ); 
Query OK, 0 rows affected (0.70 sec)

रिकॉर्ड डालें

mysql> INSERT INTO SumValueOfSingleRow(FirstValue, SecondValue, ThirdValue) VALUES(1, 0, 1); 
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO SumValueOfSingleRow(FirstValue, SecondValue, ThirdValue) VALUES(1, NULL, 0); 
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO SumValueOfSingleRow(FirstValue, SecondValue, ThirdValue) VALUES(NULL, NULL, NULL); 
Query OK, 1 row affected (0.09 sec)

सभी रिकॉर्ड देखें

mysql> SELECT * FROM SumValueOfSingleRow;

आउटपुट

+----+------------+-------------+------------+
| Id | FirstValue | SecondValue | ThirdValue |
+----+------------+-------------+------------+
|  1 | 1          | 0           | 1          |
|  2 | 1          | NULL        | 0          |
|  3 | NULL       | NULL        | NULL       |
+----+------------+-------------+------------+
3 rows in set (0.00 sec)

केस 1 का परिणाम (NULL हैंडल नहीं करता)

mysql> SELECT FirstValue + SecondValue + ThirdValue AS SingleRowSum 
    -> FROM SumValueOfSingleRow;

आउटपुट

+--------------+
| SingleRowSum |
+--------------+
| 2            |
| NULL         |
| NULL         |
+--------------+
3 rows in set (0.06 sec)

ऊपर के आउटपुट में, क्वेरी NULL केस को हैंडल नहीं करती।

केस 2 का परिणाम (सही परिणाम)

mysql> SELECT IFNULL(FirstValue, 0) + IFNULL(SecondValue, 0) + IFNULL(ThirdValue, 0) 
    -> AS SingleRowSum FROM SumValueOfSingleRow;

आउटपुट

+--------------+
| SingleRowSum |
+--------------+
| 2            |
| 1            |
| 0            |
+--------------+
3 rows in set (0.06 sec)

IFNULL() फ़ंक्शन NULL को 0 में बदल देता है, जिससे सही योग प्राप्त होता है।

  1. - MySQL में महीने के अनुसार टेबल में मानों का योग कैसे करें

    EXTRACT(MONTH FROM ...) और GROUP BY के साथ मासिक योग इसके लिए EXTRACT() का उपयोग करें, जो विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देता है। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ना (वर्ष की परवाह किए बिना)। पहले टेबल बनाएं: create table DemoTable1415 ( ProductPurchaseDate date, ProductPrice

  1. - MySQL में GROUP BY को NULL मानों को एक पंक्ति में समेटने से रोकना

    IFNULL() से NULL को अलग समूह में रखना डिफ़ॉल्ट रूप से GROUP BY सभी NULL को एक समूह में रखता है। IFNULL(col, unique_val) से प्रत्येक NULL को अलग समूह बना सकते हैं। तालिका और डेटा (John), (Robert), (Mike), (Robert), (NULL), (NULL), (Mike); क्वेरी: NULL को अलग-अलग पंक्तियों में रखना ORDER BY Id;

  1. - MySQL में सभी कॉलम मानों को कॉमा से अलग करके एक ही पंक्ति में प्रदर्शित करें?

    इसके लिए GROUP_CONCAT() और CONCAT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1807 ( Id int ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1807 values(101); Query OK, 1 row affected