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

MySQL में दो टेबल से एक ही क्वेरी में उच्चतम और निम्नतम मान कैसे खोजें?

MySQL में UNION और एग्रीगेट फंक्शन: दो टेबल से संयुक्त मैक्स/मिन

दो टेबल के कॉलम मानों को संयोजित करके समग्र अधिकतम और न्यूनतम मान खोजने के लिए UNION के साथ MAX() और MIN() का उपयोग करें।

उदाहरण: दो टेबल के स्कोर से उच्चतम और निम्नतम

पहली टेबल:

CREATE TABLE DemoTable1 (
    UniqueId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Score1 INT
);

INSERT INTO DemoTable1 (Score1) VALUES (56), (76), (65);

दूसरी टेबल:

CREATE TABLE DemoTable2 (
    UniqueId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Score2 INT
);

INSERT INTO DemoTable2 (Score2) VALUES (67), (94), (98);

संयुक्त मैक्स और मिन खोजें

SELECT 
    MAX(commonValue) AS Highest_Value,
    MIN(commonValue) AS Lowest_Value
FROM (
    SELECT Score1 AS commonValue FROM DemoTable1
    UNION
    SELECT Score2 AS commonValue FROM DemoTable2
) AS combined;

परिणाम:

+---------------+--------------+
| Highest_Value | Lowest_Value |
+---------------+--------------+
| 98            | 56           |
+---------------+--------------+

चरण-दर-चरण

  1. UNION — दोनों टेबल के स्कोर को एक कॉलम (commonValue) में संयोजित करता है (डुप्लिकेट हटाता है)
  2. UNION ALL — यदि डुप्लिकेट रखने हों तो उपयोग करें
  3. बाहरी क्वेरी — संयुक्त परिणाम पर MAX() और MIN() लागू करती है

वैकल्पिक: UNION ALL का उपयोग

SELECT 
    MAX(commonValue) AS Highest_Value,
    MIN(commonValue) AS Lowest_Value
FROM (
    SELECT Score1 AS commonValue FROM DemoTable1
    UNION ALL
    SELECT Score2 AS commonValue FROM DemoTable2
) AS combined;

UNION ALL तेज है क्योंकि डुप्लिकेट हटाने का ओवरहेड नहीं होता। मैक्स/मिन के लिए डुप्लिकेट मायने नहीं रखते, इसलिए UNION ALL बेहतर है।

एक क्वेरी में दोनों टेबल के अलग-अलग मैक्स/मिन

SELECT 
    (SELECT MAX(Score1) FROM DemoTable1) AS Max1,
    (SELECT MIN(Score1) FROM DemoTable1) AS Min1,
    (SELECT MAX(Score2) FROM DemoTable2) AS Max2,
    (SELECT MIN(Score2) FROM DemoTable2) AS Min2;
  1. - MySQL में GREATEST/LEAST से दो कॉलम में जोड़ी की घटनाएं गिनें

    दो कॉलम में मानों की जोड़ी (क्रम की परवाह किए बिना) की घटनाएं गिनने के लिए GREATEST() और LEAST() फ़ंक्शन के साथ GROUP BY का उपयोग करें। उदाहरण: नाम जोड़े की घटनाएं गिनना 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO DemoTable VALUES(Mike, Robert); -- उल्टा क्रम 3. डेटा देखें SELECT * FROM DemoT

  1. - MySQL में INSERT INTO SELECT UNION ALL से एक क्वेरी में दो टेबल में चयन और सम्मिलन

    MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं। उदाहरण 1. लक्ष्य टेबल बनाएं ); 2. स्रोत टेबल बनाएं INSERT INTO DemoTable2 VALUES(Chris); 3. एक क्वेरी में चयन और सम्मिलन SELECT Name, 98

  1. - MySQL क्वेरी डुप्लिकेट टुपल्स खोजने और गिनती प्रदर्शित करने के लिए?

    डुप्लिकेट टुपल्स खोजने के लिए GROUP BY HAVING क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.80 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into De