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

MySQL में सबक्वेरी और LIMIT से टेबल के भाग से MIN/MAX मान निकालें

टेबल के सबसेट (भाग) से न्यूनतम और अधिकतम मान प्राप्त करना

पूरी टेबल के बजाय केवल पहली N पंक्तियों (या किसी सबसेट) पर MIN() और MAX() लागू करने के लिए सबक्वेरी में LIMIT उपयोग करें।

सिंटैक्स

SELECT MIN(col) AS min_val, MAX(col) AS max_val
FROM (SELECT col FROM yourTable LIMIT n) AS subquery;

उदाहरण

CREATE TABLE MinAndMaxValueDemo (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Value INT
);

INSERT INTO MinAndMaxValueDemo (Value) VALUES (10), (100), (50), (40);

पहली 3 पंक्तियों पर MIN/MAX

SELECT MIN(Value) AS MinimumValue, MAX(Value) AS MaximumValue
FROM (SELECT Value FROM MinAndMaxValueDemo LIMIT 3) AS tbl1;

आउटपुट

+--------------+--------------+
| MinimumValue | MaximumValue |
+--------------+--------------+
| 10           | 100          |
+--------------+--------------+

पहली 3 पंक्तियां: 10, 100, 50 → मिन=10, मैक्स=100

महत्वपूर्ण नोट्स

  • LIMIT बिना ORDER BY के अनिर्धारित क्रम देता है (आमतौर पर इन्सर्शन ऑर्डर/क्लस्टर्ड इंडेक्स ऑर्डर)।
  • विशिष्ट क्रम के लिए: (SELECT Value FROM MinAndMaxValueDemo ORDER BY Id LIMIT 3)
  • MySQL 8.0+ में विंडो फ़ंक्शन से भी संभव: MIN(Value) OVER (ORDER BY Id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) लेकिन यह रनिंग मिन/मैक्स देता है, सबसेट का नहीं।

उपयोग केस

  • पेजिनेटेड डेटा पर एग्रीगेशन।
  • सैंपलिंग/सांख्यिकीय विश्लेषण।
  • बड़े टेबल पर पूर्ण स्कैन से बचने के लिए हालिया N पंक्तियों पर मिन/मैक्स।
  1. - MySQL में NOT EQUAL ऑपरेटर (<>) का उपयोग करके विशिष्ट ID को छोड़कर सभी रिकॉर्ड चुनें

    MySQL <> ऑपरेटर: विशिष्ट मान को बाहर करके चयन करना <> ऑपरेटर (या !=) नॉट इक्वल टू के लिए उपयोग होता है। इसका उपयोग करके आप किसी विशिष्ट ID या मान को छोड़कर सभी रिकॉर्ड चुन सकते हैं। उदाहरण: StudentId = 2 को छोड़कर सभी चुनें टेबल बनाएं: CREATE TABLE DemoTable7 ( StudentId INT NOT NULL AUTO

  1. - MySQL में कोई भी पंक्ति और कॉलम SELECT न करने का तरीका?

    SELECT NULL और WHERE FALSE का उपयोग करके खाली परिणाम प्राप्त करना किसी भी पंक्ति और कॉलम को प्रदर्शित न करने के लिए SELECT NULL और WHERE FALSE का उपयोग करें: SELECT NULL FROM yourTableName WHERE FALSE; आइए पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable1367 ( Id INT NOT NULL AUTO_INCREMENT PRI

  1. - MySQL तालिका में प्रत्येक मान के लिए अधिकतम (MAX) कैसे चुनें?

    MySQL में GROUP BY और MAX() का उपयोग करके प्रत्येक समूह (जैसे देश) के लिए अधिकतम मान (जैसे जनसंख्या) प्राप्त किया जा सकता है। उदाहरण देश जनसंख्या तालिका: mysql> CREATE TABLE DemoTable (CountryName VARCHAR(20), Population INT); mysql> INSERT INTO DemoTable VALUES (US, 560), (UK, 10090), (UK, 8