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

तालिका में निर्धारित मूल्य के अधिकतम और न्यूनतम मूल्यों के लिए MySQL में तिथियों के बीच सशर्त चयन?

<घंटा/>

न्यूनतम और अधिकतम मूल्य खोजने के लिए आपको तिथियों के बीच सशर्त चयन के लिए CASE कथन का उपयोग करने की आवश्यकता है। CASE स्टेटमेंट को एग्रीगेट फंक्शन MIN() और MAX() के साथ रैप करें। वाक्य रचना इस प्रकार है:

चुनेंमिन (केस जब CURDATE() आपके StartDateColumnName और आपके EndDateColumnName के बीच तब आपका LowPriceColumnName ELSE आपका HighPriceColumnName END) जैसा कि कोई भी VariableName, MAX (केस जब CURDATE () के बीच आपकी StartDateColumnName और आपका EndLowVPriceColumnName के बीच होता है; 

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:

mysql> टेबल बनाएं कंडीशनल सेलेक्ट -> (-> आईडी नॉट न्यूल AUTO_INCREMENT, -> StartDate datetime, -> EndDate datetime, -> LowPrice int, -> HighPrice int, -> PRIMARY KEY(Id) -> ); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हुई हैं (0.69 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है:

mysql> कंडीशनल सिलेक्ट (स्टार्टडेट, एंडडेट, लोअरप्राइस, हायरप्राइस) वैल्यूज ('2019-01-02', '2019-04-02', 5,10) में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> सशर्त चयन (स्टार्टडेट, एंडडेट, लोअरप्राइस, हायरप्राइस) मान ('2019-04-02', '2019-04-20', 0,20) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> सम्मिलित करें कंडीशनल सेलेक्ट (स्टार्टडेट, एंडडेट, लोअरप्राइस, हायरप्राइस) वैल्यू ('2019-04-03', '2019-04-21', 0,30) में; क्वेरी ओके, 1 पंक्ति प्रभावित (0.17 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:

mysql> कंडीशनलसेलेक्ट से *चुनें;

निम्न आउटपुट है:

<पूर्व>+-----+------------------------- ---+---------------+----------------+| आईडी | प्रारंभ दिनांक | समाप्ति तिथि | लोअरप्राइस | हायरप्राइस |+-----+---------------------+-------------------------- -+---------------+----------------+| 1 | 2019-01-02 00:00:00 | 2019-04-02 00:00:00 | 5 | 10 || 2 | 2019-04-02 00:00:00 | 2019-04-20 00:00:00 | 0 | 20 || 3 | 2019-04-03 00:00:00 | 2019-04-21 00:00:00 | 0 | 30 |+----+---------------+--------------------- -+---------------+---------------+3 पंक्तियों में सेट (0.00 सेकंड)

तिथियों के बीच न्यूनतम और अधिकतम मूल्य चुनने की क्वेरी यहां दी गई है:

mysql> सेलेक्ट करें -> मिन (केस जब करडेट () स्टार्टडेट और एंडडेट के बीच तब लोअरप्राइस ईएलएसई हायरप्राइस एंड) मिनिमम वैल्यू के रूप में, -> मैक्स (केस जब करडेट () स्टार्टडेट और एंडडेट के बीच तब लोअरप्राइस ELSE हायरप्राइस एंड) मैक्सिमम वैल्यू के रूप में -> सशर्त चयन से;

निम्न आउटपुट है:

<पूर्व>+--------------+--------------+| न्यूनतम मूल्य | अधिकतम मूल्य |+--------------+--------------+| 5 | 30 |+--------------+--------------+1 पंक्ति सेट में (0.00 सेकंड)
  1. उन मानों के लिए डेटाबेस को क्वेरी करें जो MySQL तालिका में नहीं हैं?

    इसके लिए, आप UNION ALL के साथ WHERE NOT EXISTS का उपयोग कर सकते हैं और तालिका में पहले से मौजूद मानों को अनदेखा करने के लिए NOT IN लागू कर सकते हैं। तालिका में पहले से मौजूद मानों को जोड़ने के लिए UNION ALL के साथ SELECT का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1918 (वैल्यू int

  1. MySQL तालिका में पूर्ववर्ती शून्य वाले मानों का चयन करें और सम्मिलित करें

    इसके लिए आप LPAD() के साथ INSERT INTO SELECT स्टेटमेंट का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1967    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    UserId varchar(20)    ); Query OK, 0 rows affected (0.00 sec)

  1. स्तंभ मानों के लिए MySQL में ENUM सेट करें

    तालिका बनाते समय, उस कॉलम के लिए ENUM प्रकार सेट करें जिसे आप ENUM मान चाहते हैं। आइए पहले एक टेबल बनाएं - );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.75 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2019 मानों में डालें (45, दूसरा); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 स