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

MySQL क्वेरी: अधिकतम संचयी मान प्राप्त करें

समाधान

सबक्वेरी में गुणनफल की गणना करें, फिर GROUP BY और ORDER BY से अधिकतम खोजें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE demo23 (
    -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> value1 INT, value2 INT
    -> );
mysql> INSERT INTO demo23 (value1, value2) VALUES (5,600), (20,800), (7,400), (6,500), (10,300), (11,500);

क्वेरी

mysql> SELECT total_value, COUNT(*) AS number_of_occurrences
    -> FROM (
    ->   SELECT value1 * value2 AS total_value FROM demo23
    -> ) t
    -> GROUP BY total_value
    -> ORDER BY total_value DESC
    -> LIMIT 1;

परिणाम

+-------------+-----------------------+
| total_value | number_of_occurrences |
+-------------+-----------------------+
| 16000       | 1                     |
+-------------+-----------------------+

व्याख्या: सबक्वेरी प्रत्येक पंक्ति का गुणनफल (value1*value2) निकालती है। बाहरी क्वेरी गुणनफल के अनुसार समूहित करती है, घटते क्रम में क्रमबद्ध करती है, और शीर्ष 1 लेती है।

  1. - MySQL में COALESCE() से खाली पंक्ति के लिए डिफ़ॉल्ट मान सेट करें

    COALESCE() फ़ंक्शन का उपयोग करके NULL मानों को क्वेरी परिणाम में डिफ़ॉल्ट मान से बदल सकते हैं। यह टेबल डेटा नहीं बदलता, केवल आउटपुट प्रभावित करता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1863 (FirstName VARCHAR(20)); डेटा डालें mysql> INSERT INTO DemoTable1863 VALUES(Chris); mysql> INS

  1. - MySQL में कॉलम मानों के लिए ENUM कैसे सेट करें?

    ENUM कॉलम के साथ टेबल बनाना टेबल बनाते समय ENUM प्रकार निर्दिष्ट करें: ); रिकॉर्ड डालना INSERT INTO DemoTable2019 VALUES (45, Second); सभी रिकॉर्ड देखना SELECT * FROM DemoTable2019; +--------------+---------------+ | StudentMarks | StudentStatus | +--------------+---------------+ | 96

  1. - MySQL में टेबल बनाकर वर्तमान तिथि को डिफ़ॉल्ट मान के रूप में सेट करना

    DEFAULT कंस्ट्रेंट सिंटैक्स CREATE TABLE yourTableName ( yourColumnName1 dataType not null, yourColumnName2 dataType default anyValue, ... ); उदाहरण: कर्मचारी जॉइनिंग तिथि ); डेटा डालना और परिणाम insert into demo43(employee_name) values(Bob); +-------------+---------------+---------