MySQL में आप दो कॉलम गुणा करके (जैसे मात्रा × कीमत) और फिर GROUP BY का उपयोग करके समान ग्रुपिंग कॉलम (जैसे ग्राहक नाम) का योग प्राप्त कर सकते हैं। यह बिक्री रिपोर्ट, चालान योग, और राजस्व विश्लेषण के लिए मानक पैटर्न है।
उदाहरण तालिका बनाना
mysql> CREATE TABLE DemoTable (
CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CustomerName VARCHAR(100),
CustomerItems INT,
CustomerPrice INT
);
नमूना ऑर्डर डेटा डालना
mysql> INSERT INTO DemoTable (CustomerName, CustomerItems, CustomerPrice) VALUES
-> ('Larry', 3, 450), ('Mike', 2, 550), ('Larry', 4, 1000),
-> ('Larry', 1, 100), ('Mike', 5, 200);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------------+--------------+---------------+---------------+ | CustomerId | CustomerName | CustomerItems | CustomerPrice | +------------+--------------+---------------+---------------+ | 1 | Larry | 3 | 450 | | 2 | Mike | 2 | 550 | | 3 | Larry | 4 | 1000 | | 4 | Larry | 1 | 100 | | 5 | Mike | 5 | 200 | +------------+--------------+---------------+---------------+
गुणा करके प्रति ग्राहक कुल कीमत प्राप्त करना
mysql> SELECT CustomerName, SUM(CustomerItems * CustomerPrice) AS TOTAL_PRICE
-> FROM DemoTable GROUP BY CustomerName;
आउटपुट:
+--------------+-------------+ | CustomerName | TOTAL_PRICE | +--------------+-------------+ | Larry | 5450 | | Mike | 2100 | +--------------+-------------+
व्याख्या:
CustomerItems * CustomerPrice- प्रत्येक पंक्ति के लिए लाइन आइटम कुलSUM(...)- प्रत्येक ग्राहक के लिए सभी लाइन आइटम का योगGROUP BY CustomerName- ग्राहक नाम के अनुसार समूहित
गणना विवरण:
- Larry: (3×450) + (4×1000) + (1×100) = 1350 + 4000 + 100 = 5450
- Mike: (2×550) + (5×200) = 1100 + 1000 = 2100
विस्तार: अधिक मीट्रिक के लिए: COUNT(*) as OrderCount, SUM(CustomerItems) as TotalItems, AVG(CustomerPrice) as AvgPrice